50 (UK)
$2.95 [USA]
£1.
2, Number 6
Volume
November/December 1982
sdf
Eni
se
HNIQUES:
TEC
ANGUAGE
Term
Tee
- ROM-PAC APPLICATIONS HAS
PROGRAMS ON PLUG-ON ROM
CARTRIDGES FOR THE ZX-81
*EDUCATIONAL PROGRAMS
“APPLICATIONS
“GAMES
Call or Write For Your
FREE
Information Package Including:
*Current list of products and prices
*Operating instructions for all products
*Sample applications
* Adds you to our mailing list to receive new product news |
*Updates on using the Sinclair with and without our products
CALL 404-921-4471
OR WRITE
ROM-PAC APPLICATIONS
5921-A Alhambra
Norcross, Georgia 30093
Due to possible trademark infringement Sinclair Applications is now operating under the name of Rom-Pac Applications.
Neither Sinclair Applications nor Rom-Pac Applications has or have had any connections with Sinclair Research Ltd. |
Sd
PLOT UNPLOT REM
oa Wel
SIN TAN
NEW AVE DIM
Kra Sree eet eee
PART? ATEI? FEIER Fey at aT Sy a eTo Britta
= Ge
: RUN RAND RETURN = INPUT POKE 4
Se. Wee nie =
m fo Be |
TRS
FOR GOTO GOSUB
SGN ARS S
ss We'llkeep
— your Sinclair summing!
PRINT
ase
ENTER
ARCSIN ARCCOS ARCTAN GN S OR VAL LEN USR
COPY CLEAR CONT CLS SCROLL NEXT PAUSE BALAI
= 7 ; €
= z cae 5 | mM) OoOo SPACE
EN EXP AT IN KEYS NOT m
OUR $14.95 SINCLAIR AND TIMEX OWNER-PROTECTION SERVICE PLAN
Timex too!
Typical repair charges for a
Sinclair ZX81 can run from $25 or
$50 up to the replacement cost of
the unit. So why take chances?
MicroSync will guarantee unlimited
service for one year, parts included,
at one low price. With return postage
and handling paid. Plus our VIP
treatment for fast turnaround.
MicroSync’s experienced
technicians are ready to service
your ZX81 or Timex/Sinclair 1000
with factory replacement parts. We'll
return it promptly, and we'll quality-
check your unit before it leaves our
service center.
We made over 10,000
Sinclairs tick last year.
Sinclair equipment has a great
reputation for reliability. But almost
all computer equipment requires
service at one time or another.
We've been repairing Sinclairs ever
since their first glitch.
WILL SAVE YOU MONEY.
MicroSync is THE Sinclair
authorized Service Center.
Your Sinclair computer is a
remarkable assembly of electronic
components, some unique to
Sinclair technology. Our Sinclair
personnel have been trained on, and
service only Sinclairs.
The fine print. MicroSync’s Maintenance Agreement covers all parts and service for 12 months
after the expiration of original warranty. For units over 90 days old, coverage is for 12 months
from the date of the Maintenance Agreement. Kits or modified units may require a surcharge.
MicroSync may not repair units damaged by abuse or negligence. Liability extends to repair or
replacement only.
'artart soir lentientonienlontententan
i 162 Marlboro St j
Keene NH 03431
i Please send Maintenance Agreements for i
ł the equipment listed below: $
f ZX81 or Timex/Sinclair 1000 i
Less than 90 days old
: (include proof of purchase) ........ $14.95 ea. i
Over 90 days Old = o ee $34.95 ea.
| 16K RAM Į
l Less than 90 days old -
(include proof of purchase) ........ $12.95 ea.
Over 90. days old. i ee. $29.95 ea. l
f Total Enclosed.......... U.S. $ i
F Serial nos. i
i C] check O w/c LJ VISA i
i Card FR. l
i Name y
Address j
City Site Zip
We have the experience it takes.
We have the parts on hand.
So act now! If your unit is less
than 90 days old you can purchase
our Owner-Protection Service Plan
for only $14.95.
=l
Mail To: MicroSync
La
MicroSync
AUTHORIZED SINCLAIR SERVICE
BEHIND EVERY
GOOD SINCLAIR
If you own a Timex-Sinclair 1000 or
ZX81 computer, you should have a
Memopak behind it. From increased
memory to high resolution graphics,
Memotech has a Memopak to boost your
system’s capabilities. Every Memopak
peripheral comes in a black anodised
aluminum case and is designed to fit
together in “piggy back” fashion to enable
you to continue to add on and still keep an
integrated system look.
Printer ee foe RAM
High Resolution Graphics
Order at no risk
All Memotech products carry our 10
day money back guarantee. If you’re not
completely satisfied, return it in ten days
and we will give you a full refund.
And every Memotech product comes with a
six month warranty. Should anything be
defective with your Memopak, return it to
us and we will repair or replace it free of
charge. Dealer inquiries welcome. To order
any Memotech product call our toll-free
number 800/662-0949 or use the order
coupon.
CORPORATIO
7550 West Yale Avenue
Denver, Colorado 80227
(303) 986-1516
TWX 910-420-2917
IS A MEMOPAK
iy Wa
Mail to: Memotech Corporation, 7550 West Yale Ave., Denver, co 80227
Code: SYCO-11-12
lI |
*Price Qty. Total
| 64K RAM $179.95 |
: 32K RAM 109.95 :
| 16K RAM 59.95 |
| Centronics Parallel Printer Interface 104.95 i
| RS232 Printer Interface 139.95 l
High Resolution Graphics 144.95
| Shipping and handling 4.95 $4.95. |
i 5 All prices quoted in U.S. dollars Tax** i
' Colorado residents please add sales tax Total |
i O Check [I MasterCard (J Visa |
Account No. Exp. ,
| |
Name i
i Address i
| City State Zip |
Memopak 64K RAM The 64K RAM extends the
memory of your Sinclair by 56K to a full 64K. It
is directly addressable, user transparent, is
neither switched nor paged and accepts such
BASIC commands as 10 DIM A (9000). The
Memopak 64K turns your Sinclair into a
powerful computer suitable for business,
recreational and educational use. No additional
power supply is required.
Memopak 32K RAM The 32K RAM Memopak
offers your Sinclair a full 32K of directly
addressable RAM. Like the 64K Memopak, it is
neither switched nor paged and enables you to
execute sophisticated programs and store large
data bases. It is also fully compatible with
Sinclair’s or Memotech’s 16K RAM to give you a
full 48K of RAM.
Memopak 16K RAM The Memopak 16K RAM
provides an economical way to increase the
capabilities of your Sinclair. And at the same
time, it enables you to continue to add on other
features with its “piggy back” connectors. It is
compatible with the Sinclair 16K or a second
Memopak 16K or Memopak 32K to give 32K or
48K of RAM respectively.
Memopak High Resolution Graphics The
Memopak HRG contains a 2K EPROM monitor
and is fully programmable for high resolution
graphics. The HRG provides for up to 192 by 248
pixel resolution.
Memopak Printer Interface The Memopak
Centronics Parallel or RS232 Interface
paks enable your Sinclair to use a wide range of
compatible printers (major manufacturers’
printers available through Memotech at
significant savings). The resident software in the
units gives the ASCII set of characters. Both
Memopak printer interfaces provide lower case
character capabilities. The RS232 Interface is
also compatible with modems.
New products coming soon Memotech will
soon be introducing four new Sinclair
compatible products: a high quality, direct
connection keyboard, a digitizing tablet, a 16K
EPROM and a disk drive. Watch for our future
advertisements.
The Magazine for Sinclair users and Timex/Sinclair users
i — E |
November/December 1982
DEPARTMENTS
EOS ee ers ek EE E ee ee eas
STING NODE SS ees Seater Pe ee e,
13 Glitchoidz Report............................ Grosjean
Be PI SLi rs a he ha ia te BS Ho, Laska, Jury
19 JustforFun................. Hampson, Hollandsworth,
Maloff, Passler
Deas ROO 8 ot A ae a aan ane ee AN
120 Index to Advertisers....................... 0.00. c eee.
SYNC AT THE DRAWING BOARD
25 Turtle Graphics.............................. Woodson
A popular graphics technique
29 Curve Plotting Graphics......................... Booth
Producing graphics by formulas
39 Meditations on a Hypotrochoid................. Rogers
Drawing pictures by formulas
41 A Machine Code Graphics
Line-Drawing Subroutine....................... Kopyc
Add line-drawing to your programs
48 Flicker-Free Four Times Normal
Character Scrolling...................2.. Van Workum
A 4K ROM machine code routine for 4x4 letters
65 Large Letters for the 8K, 2K Machine........... Carroll
An 8K ROM machine code routine for 4x4 letters
PROGRAMMING TECHNIQUES
62 Line Print Utility..............000000000000.... Albrecht
First steps to word processing
Ta WORE Oks. hs ee ee e Bonner
Translating a 4K ROM program to the 8K ROM
Staff
Manaan EANO oo ase es aoe ee ee ee Paul Grosjean
Ponte ator ot oe Se ea David Ornstein
ORK COrrespondent o- ara eran e i eee L Martin Wren-Hilton
A A DITCOTOr sre E AE Ss T eh A ana Patrick Calkins
Assistant Art Director...........................Diana Negri Rudio
PUDE SE ETS Gee A a G A E e en ee Karen K. Brown
Renea Cole
Operations Manager e a eo es ed William L. Baumann
Personneiand Finance: ie ee ks et Patricia Kennelly
EOFHOCRCE E te er ee Oe yee ER Frances Miskovich
Carol Vita
PAVETUSING Sales Manager ow ee vl Pee Karen Musmeci
MEMBER
November/December 1982
Volume 2, Number 6
80 Renumbering Basic Statements................ Wolach
Line numbers, GOTOs, and GOSUBs
HARDWARE
87 Your Timex/Sinclair Can Become
a Remote Terminal.......................2 ee eee Rice
Building the interfacing board
MACHINE LANGUAGE
102 Block Transfers: Variables Transfer..............Scher
Machine language programming techniques, part 2
GAMES AND PROGRAMS
98 Building HeatLoad......................... Reinhardt
Calculating options for energy conservation
100 Random Walks..........................002. Chandler
The graphics of random distribution
114 A Keyboard Learning Game...................Charles
Master your keyboard and have fun
REVIEWS
36 The Zedex Microfair............................ Beloff
Report on the 4th ZX microfair
110 You Can Review Products SYNC................... Ahl
Do you want to be a reviewer?
TO RS a a Gs Pe a Ee AA Grosjean
Game review
109 Gea Wares... so. E a EAA Grosjean
Game review
ETET Pe SS IEE nee Oe Schiller
Software review
112 The Quicksilva Programmable
Character Generator...................... Wren-Hilton
Hardware review
Volume 2, Number 6
SYNC (USPS: 585-490; ISSN: 0279-5701) is published bi-monthly by
Ahl Computing, Inc., a subsidiary of Ziff-Davis Publishing Company.
David Ahl, President; Elizabeth B. Staples, Vice-President; Selwyn
Taubman, Treasurer; Bertram A. Abrams, Secretary. 39 E. Hanover
Ave., Morris Plains, NJ 07950. Second class postage paid at New York,
NY 10001 and at additional mailing offices.
Subscription rates: USA: One year (6 issues), $16; two years (12 issues),
$30; three years (18 issues), $42. Canada: $3 per year additional. Other
foreign: $5 per year additional.
For SYNC advertising information, contact Karen Musmeci, SYNC
Advertising Sales Manager, Ziff-Davis Publishing Company, One Park
Ave., New York, NY 10016 (phone: 212/725-4216).
All other correspondence should be addressed to: SYNC, 39 E. Hanover
Ave., Morris Plains, NJ 07950. In U.K., SYNC, 27 Andrew Close, Stoke
Golding, Nuneaton CV13 6EL.
Postmaster: Send address changes to SYNC, PO Box 789-M, Morristown,
NJ 07960.
Cover illustration by Frank Cerulli
(0>)
cle ee ee
Comet
Dear Editor:
Chuck Dawson’s Comet Crusher in
SYNC 2:4
have more than 1K RAM, you can add
1 REM “COMET CRUSHER" TO SAVE 215 LET HITS=HITS+2
coro S500 220 FOR N=1 TO 75
Crusher 3 23@ NEXT N
243 G
was interesting, but, if you
OTO Ss
@@ FOR I=@ TO 6
10 PRINT TARE 16; “Se
NEXT I
`; RETURN
350 FOR I=1 TO &
LET Y=INT (RND#31} +1
378 IF Y=19 GR Y=28 THEN GOTO S$
to its visual l. Here is a listing of x8 390 IF x23 THEN GOITO 360
o its visual appeal. Here is a listing o ar E Gomes Ta EE OT NEN S
the program which illustrates some of TF: i A-F a eae 410 NEXT I
; ; peice 26 IF SHOT=3@ THEN PRINT AT S, 420 RETURN
the visual effects possible (Listing 1). ee a Aa | 500 SAVE “COMET CRUSHES"
2@°;TAB 1; 519 RUN
Using =; (HITS SHO F ; ; “PER $
PEEK 16396 +256*PEEK ; oo Ir SHOT=19 THEN STOP | oo... |
16397-16509 B“STAB 19: “WE O 0O > £ ‘
I came up with 1531 bytes, including 4O -RRINT AT 20,1; “PRESS MEW IS Line notes:
. . . -t KORRA EEE .
line 9 and the subroutine at 350. With- ssmasmuanananannn aiaa + General note: underlined words mean a
out these I get 1344 bytes.
I love my ZX81 with the 16K RAM a a
and never
power. SYNC has really opened my eyes
on that score. But; being a novice, I
would like to see some very basic articles
on machine code with the ZX81 in
mind.
cease to be amazed at its
6@ PLOT
7@ UNPLOT
TOX Y use the graphics mode to get the inverse
5 letters.
A=@ THEN
a 7: inverse space (32); provides black
“F“ THEN LET A
e cai Then aL TL > backdrop. l
= P 9: May be omitted if short of memory.
ha
tHt=H- 2 .
SAT H, 29; eP 26: Puts scoreboard on screen.
"TBE. ete 2S; g ;
SMP; TAB 19; “Ms TAB 19 30: Graphics on E and 5.
„150 IF Xs40 AND Hi4 AND H>@ THE 50: Graphics on S (32).
Keep up the good work. 160 IF H=@_THEN GOTO S 110: inverse space (17).
George T. Milonas, Lt. Col, USAF ł8@ Goro &
(Ret.)
8130-H Bridgeport Way, SW 26
Tacoma, WA 98499
170 IF
@ PRI
H=17 THEN GOTO 5@
140: Graphics on E and 5; inverse as-
a
2830 PRINT AT 3,37; ` “; TRB 17 ‘
; REI: TaS 16; a terisk and space.
20 MoE HAA AF 89,18;
UB 300 a 3: j 200: Graphics on QEBE; EQ.R;
.3; LEOMET PRRTIG . . y
ED“ .WZ # E; provide debris after hit.
Bob Berch’s
Integer BASIC COMPILER ————
—increase your speed 20 plus times!
—amazing 3K program includes all run
time routines
commands/functions
DIM RAND -256 variables (two letter)
FOR/NEXT CLS
LET COPY -26 single DIM arrays |
IF/THEN SCROLL š
GOTO AND, OR sorry, no strings except |
GOSUB/RETURN NOT in PRINT —
PRINT ABS
LPRINT SGN -two versions
PLOT/UNPLOT USR 16K w/code in 29-32K
POKE RND 64K w/code in 13-16K
STOP PEEK
FAST INKEY$
SLOW MOD(* *)
PAUSE AT & TAB
, Now
; $22.00 ppd available in
both versions for (cassette) the United States, ‘hes
NY sige Britains’ best-selling ZX81 workstation isa
a 0
Bob Berch
19 Jaques St.
Rochester, NY 14620
stylish yet practical plinth which will angle your TV to
reduce eyestrain, conceal the leads and power supply,
and if you have the 16K RAM it will hold it steady to
reduce crashes. Moulded in tough black ABS complete
witha ready-wired on/off switch. Looks really great!
Please order from our U.S. Agent-Jim Griner P.O. Box 1 Princeville, ILL 61559.
Manufactured By Peter Furlong, Products Unit 5, South Coast Road Industrial Estate.
Peace Haven, Sussex, England Tel: (07914) 81637
SYNC Magazine
FIRST
TALK TO
| MINDWARE.
lf you're writing software for the Timex-Sinclair personal computer, you ought to
talk first to the software publishing company that will do the most for you and your
program. Here's six good reasons why good programmers come to us first:
1. MASS MARKETING CAPABILITIES.
The Timex-Sinclair computer market is no
longer a mail-order, hobbyist business. We have the marketing resources to put
your titles in more than 25,000 retail outlets, including chain stores, mass
merchandisers, audio centers and PX’s.
2. VERTICAL MARKETING CAPABILITIES.
At the same time, we also sell actively to the kind of specialized
audiences who can't be reached through mass market outlets. If you've written the
definitive program for machine shop estimators, we know where to sell it.
3. BETTER ROYALTY TERMS.
Since we expect to buy the best in Timex-Sinclair
software, we expect to pay the best in royalties. And we pay promptly and
frequently —a policy that, sadly enough, many other publishers
seem to feel is unnecessary.
4. “QUICKLOADING’’.
Every title we sell now incorporates our
unique ‘‘Quickload”’ algorithm. ‘‘Quickload’’ enables your program to load
at a rate six times faster than other Timex-Sinclair software. That kind of
Special feature means bigger sales—and bigger royalties.
5. PROFESSIONAL PACKAGING AND PROMOTION.
We take our titles seriously. We're willing to
invest in good graphics, good documentation, good advertising. You'll be proud
to show off your work, because we are too.
6. WE’RE NICE TO DEAL WITH.
Mindware isn't a big, impersonal corporation with layers of bureaucrats
to penetrate. We know our leadership in software depends on finding the
very best authors—and keeping them. So we try to respond quickly
and honestly, and treat you with respect.
We can't promise to publish every program you submit. But if you've got a title
you feel is a real winner, our advice is simple:
©® MINDWARE
15 Tech Circle Natick, Mass. USA 617-655-3388
220: For a pause without jerkiness of
PAUSE.
300: Erases comet and rocket.
310: 5 inverse spaces.
350-420: See line 9; may be omitted if
short on memory; provides a few stars in
the sky.
370, 390: Keep clear path for comet
and rocket.
400: Inverse +.
DEF
Dear Editor:
Jon Passler’s article on DEF (SYNC
2:4) is very helpful, but the action can be
speeded up a bit by adding as follows:
1K RAM:
102 PRINT AT 0,0;A$
105 FAST
16K RAM:
175 FAST
200 delete
300 delete
325 SLOW
For some reason my machine pro-
duced an “INTEGER OUT OF
RANGE” code for line 160 in the 16K
program—so I substituted.
David M. Hoke
Apt. D4, Eastampton Gardens
Mt. Holly, NJ 08060
Draw It
Dear Editor:
In the Draw It program in SYNC 2:4
lines 60, 70, 80, and 90 can be deleted
and the following lines put in:
60 LET X=X+(INKEY$=“‘8”)-
(INKEY$=*"5”’)
70 LET Y=Y+(INKEY$=“7”)-
(INKEY$=‘“‘6’’)
Robert Jorgenson
3814 Coleman Ave.
San Diego, CA 92154
Strong KBD Signals
Dear Editor:
I would like to publicly thank Herb
Hornung (Double H Electronics, 195
Lelani, San Antonio, TX 78242) for his
hardware tip concerning strong signals
from KBD 0-4 (SYNC 2:4). I had been
having keyboard troubles with the kit
from the time I put it together. This was
one of the reasons I purchased a key-
board from Herb. At that time he made
some recommendations which helped
quite a bit. Examination showed that a
very strong signal from KBD 0 would
often “crash” the system when a key in
that circuit was used. Herb’s article, per-
sonal correspondence, and the substitu-
tion of 6.8k ohm resistors for the
Sinclair resistor pack straightened out
all the problem I was having. I highly
recommend the Double H keyboard for
those who have trouble getting their fin-
gers around the membrane keyboard.
Lawrence A. Kelly
28 Countrywood Dr.
Morris Plains, NJ 07950
List Learning
Dear Editor:
I am writing to express my thanks to
James John Hollandsworth for “List
Learning with the ZX81” (SYNC 2:5).
The program ran beautifully and my
eight year-old enjoyed it. He has already
started to learn the states and their cap-
itals, and he gets to use Dad’s computer
to boot!
There were some parts of the program
that I changed slightly to make it run
smoother. When the program that I
changed slightly to make it run
LIMITLESS EXPANSION FOR SINCLAIR/TIMEX
FLOPPY DISC INTERFACE $179 +1-4 DRIVES, ANY SIZE x SINGLE/ DOUBLE
DENSITY * INDUSTRY STANDARD IBM FORMAT *¥*ON BOARD DOS IN ROM x
RIBBON CABLE CONNECTIONS FOR MAXIMUM RELIABILITY
1000 TIMES FASTER THAN CASSETTE
0.29 DOUBLE DENSITY FLOPPY DISC DRIVES $189 ea.
y%
*
POWER AND CABLES FOR 2 DRIVES $69 FOR 4 DRIVES $79
STD BUS INTERFACE $99 COMPLETE WITH RIBBON CABLE
CHOOSE FROM 300 PERIPHERAL INTERFACES, 60 MANUFACTURERS
CENTRONICS PRINTER INTERFACE $119 comPLETE wiTH
PRINTER CABLE, SOFTWARE IN ROM
DIRECT VIDEO MODIFICATION $25 we instatt $15 You INSTALL
WORD AEDC SOFTWARE PACKAGE $15 MACHINE LANGUAGE
BOX
x
18093 AUSTIN
TX 78760-8093
(512)
385-7405
November/December 1982
Foam org: aered “O-wiysenbay)
See SAIA b s
uo1L'y'a OF afqeked 'O`'W1I/SƏN9ƏYI O GNV IONS "HIOHON BLS (DaIeASN|II se) soaUUOD uoqqu a/qIxaj4_ (A)
~ ‘HLNOWUVA LVW3AUD 3 : Sesh aia
: ssauppy z aE puegs2}sew J OS°TLS$ UOISI9A ƏINƏSSED
) - ` aWweN PAY DUY: uo3sə/ 109 E6ZL$ woy ssiydes6 uM
i SEAR AIR As Meg! SE aso pula | ddI: 0$ UO PPE askard g ‘DEO XISSNS £Z l ð SIIY yl!
$ sums way, (208428d pus 180d 10) 68 UO ppe oseard) ƏSN JOJ UOISIBA WOJd “3 bulbBnq-ap pue Buidnsjsuod
NT EER Tor ey ae. Ne a ino ulonb ‘y3ƏM g SAe s
i OANE DENY $ PC ot PUSS ask Pld 4 sinoy YZ alqeyene “20insas Buamsue no 10} 864209 cer rb (10) u JAWWEIBOI 343 pre O7 SINN JO INJ IF 1O01 Ab (9)
$ ) QW pues ƏSLəƏjd pugu ‘yynowie g 42919 QuOYydaja} 10 ‘Aepo} uodnoo Əy} 440o. puas 0668$ uoisuedxg ÁJOWƏWN WH9 (g)
06'SE$ pasə) pue pajqwasse Ajjn4
Asowaywy UO ppy arisse~yW wey J91 (v)
SHUN WOUs MIN
1685 ZNUMLAIOS WOU SDIHAVUD NOL | Settee Z ped suownu yam possun
Y3JON3III0 * 4GJAdlLN3D ¥* SYSGVANI JDWdS * saIOŅJJLSWY ¥ S
poke ch L8$ ped sJu0wINU YWM pases Ayjn4
WNaLIAds
$ APAA A $ ® WUT o ALAA Y tal ater 'p Qw puas asea|d h :
ce o eee SHUO i
ae eres SO Sw puas aseatd I 4 g
Huvapio uəym dud pue Ánuenb
"azis AIOWIW WOY UdIUM 'auiypew JO adA} ILIS ƏLƏAd
L6'ES$ 'SJƏS JƏPeLeIeyəd
won UMO INOA 37231 UBD NOA OS
L8XZ JHL NO 31gISSOd MON SOIHdVHD IHL JO IWOS SPISI SEDO Jest At Das SLE?
pue WYa/AZ/NL e YM pans aq ued
JIPIOY SIUL WVA/WOY JO Jp 194UN}J e
1dadde jjım UdIUM pıeoq əy} uo JapjOY
aieds e sey osje i ‘319y} SIU JOU SBOP
JINDOW əy? JAAIMOH (WO Meu ou)
jo adods ay) 0} se Rap! ue noA anib Aew
Jey?) Ya! OOb INO|e IIS Ge JIU) ‘WIU)
JO OG INoge 10} sJUNODDe Ajuo Jey)
pue saiydeib siapeAul JO 9S IJd
e SHUR} ‘SJAYDOI ‘SIANG ‘SQWO ‘SIINI A
ƏSLI JMO} BE WOY 4? UJ 'sSƏuIyDLew KC
3AIsuadxa aiOW Jabse; UO punoj AjaueJ \ U
Jas WUdesB e YUM ‘ayNdwWod Nnpyəmod YS
ÅA e OU! [8 34} SUIN] MOU SIU]
"ZOL ASJAAU! JIU] YIM pue sr1ydesb
Z 15 aAeU MOU NOA Jey} SURI
SIU, “$9 AJUO SUleJUOD Jas DIUdesIH
jewou INOA ‘soiydeib pawwesboid
-31d eNXƏ Spy BIGeAgijaqun
ue noA aaib IM SIUL WOX
s1yudesib yp e YUM ajajdwWod pue pasa}
ÁIN} ‘ying Apeas SawOd ajNDOW ay
‘pieogAay au] JaPUN 1aINdWOdD INOA
ca apisul Ajeau Si SƏHOSSƏDDE 19YIO ISOW
@ ayuN ‘ajnpow siy} ‘AuOssadze | 8XZ
D }sa}e| INO SI aINDOW JIUdeID JA 24L
suempuet 18/OS X
Buyapjosousasnbay = ‘ap|Su| 34j 03 Ajddns səmod əy? pue
(winsj2ads 10 1g) Ja3NdWO? əy? y70q 104 ynouə a6se] Sı ase> JUL
duvogaczI3 XZ
SIIUOUL WD
WNALAdS
Z
smoother. When the program ws put
into ‘““Review“ mode, the screen had an
annoying blink that was rather distract-
ing. The reason for the blinks was the
PAUSE statements used.
The solution was to replace them with
FOR/NEXT loops as follows:
210 (change the zeros to 1’s)
217 IF 2<4 or“ Z> 9 THEN
GOTO 215
235 FOR R=1 TO Z*10
236 NEXT R
237 POKE P, Q
Use the line content of 235-237 to make
three more loops:
250-252, 280-282, 295-297.
LET YOUR ZX81/TIMEX
eme memes meme mmes como moe oomme sae osoan semne smene mune mase somme mone somno sons omes seene amuse Sees See souse soens cumte «esee smste stem somes soose ceume neues ater seoce memes sosoo enews coces senas
PERSONAL AND PUSINESS PROGRAMS:
Again, special thanks to James
Hollandsworth for this very useful learn-
ing tool.
K.R. Peters
14 Meade Ct., #2
Fox Lake, IL 60020
Ed.—The use of the PAUSE routines in
“Listing Learning” indicates that the
program may be used on the ZX80 (8K
ROM). In our last issue we noted that
programs for the ZX81l and the ZX80
(8K ROM) are virtually identical except
that certain types of displays on the ZX80
(8K ROM) need the PAUSE routines as
a substitute for the SLOW mode. If you
have the ZX81 or the T/S 1000, you can
substitute the FOR/NEXT loops, but you
can also just omit the PAUSE routines.
1600 WORK FOR You!
Seeme memet Oe A TT eS Hee Se atate See SE SOE SOE Gu aD tues soene Sener nina ster sees
Are on cassette, are menu driven and save on tape automatically.
SALES FILE 16K:
Will hold up to 125 products with their wholesale and retail prices.
Separates and totals wholesale and retail prices and shows the amount of
Profit in up to 25 different accounts.
- Records inventory automatically
or may be changed manually. - Keeps a running total of sales tax.
Has a cash register mode which will
identify, total, and add sales
tax while it automatically keeps records for your bookkeeping.
SALES FILE 64K: Same as above except it will hold up to 6@@ products for up to
100 accounts.
##*% A must for any small business.
CHECKING 16K:
**#S5pecify 16K or 64Ke*
EERO mmr me ee ee e a e m e e e e e e e e e e e $19.95
Lists up to 25 deposits showing amount of deposit and date entered.
Lists up to 8@ checks and displays check number, date and to whom check was
written. - Lists by account the total of the checks written to any given
account. — Keeps a running total of checks written and the balance left in
your account. — Search for a check by check number, name, date or amount
to find any check quickly.
*#*# Great for tax records. *### --~----—--~—~~------~~-~----~-------~--- $9.95
MAILING LIST 16K:
Holds up to 108 names, addresses and telephone numbers. - Search by name,
city, zip code, or phone number to find any address or phone number
quickly. - Lists all names, changes or deletes.
#*#* Christmas cards are a snap with this program. *** ------------ $9: 95
INVENTORY (1) 1K:
May be used for everything from keeping an accurate inventory for your
business, to your personal record collection. - Holds up to 150 items with
comments for each. - Comments may be used for serial numbers, dates,
Prices or location. - List all items, search. for a Single item, change or
delete any item. — *** Everyone should have an inventory of household
items in case of fire or theft. ««*
INVENTORY (1) 464K:
Same as above with
*#*#*® Specify 16K or 64K #*##* ---------
up to 75@ items.
INVENTORY (2) 16K! Same as above without comments.
Holds 300 items. --------—--------~---
EDUCATIONAL PROGRAMS: On cassette and menu driven.
MATH QUIZ:
Require 16K.
Allows user to choose addition, subtraction, multiplication, or division
for up to 5@ problems, with difficulty levels from 1 to á.
Each problem may be listed with the correct answer.
*** Great for home or class room **#* -—---—------—-—----—~---—---~~~~-~~_ $9.95
FLASH SPELLING:
Enter up to 5@ words for your child to learn to spell. - You determine how
long you want the word to be flashed. - Misspelled words may be listed.
*** Word files may be saved on tape. ##% —-----~—-------—~----~~~~--~ $9.95
Send certified check or money order to:
Indiana residents add 4% sales tax.
Add $1.00 per tape shipping.
Dealer inquiries invited.
HEATH COMPUTER SERVICES
95@ East 52 South
GREENTOWN, IN 46936
Phone 317-628-3138
Pantry Inventory
Dear Editor:
I thoroughly enjoyed Dr. Justham’s
“Pantry Inventory” (SYNC 1:6). I have
expanded upon it, and I would like to
share a more efficient search routine us-
ing the LEN command. Rather than use
up memory space by creating a separate
array M$ in line 3044 with which to
compare the “item” sought (C$), com-
pare C$ to the original array I$ (B) di-
rectly as follows:
3040 INPUT C$
3050 FOR B=1 TO 150
3060 IF C$=I$ (B) (1 TO LEN
C$) THEN GOTO 3100
3070 NEXT B
Using the same method, it is possible
to expand the search routine to search
records internally, i.e., looking for
strings within a heading and not limited
to the first characters within that
heading:
FOR B$=1 TO 150
FOR J=1 TO (LEN I$ (B)-LEN
C$-1)
IF C$=I$ (B) J TO J+(LEN C$-
1)) THEN GOTO 3100
NEXT J
NEXT B
If you have a larger number of
records, this search may take a while,
but it is very thorough. Thanks for your
highly entertaining and educational
magazine. I look forward to my next
issue!
Jeff Hino
929 NW 28th
Corvallis, OR 97330
Lunar Lander
Dear Editor:
If you have more than 1K RAM, you
can modify Chuck Dawson’s Lunar
Lander (SYNC 2:1) with the lines given
below which will indicate a safe landing,
your pilot’s rating, and the reason for
the rating.
Dick Bloom
PO Box 91
Cloudcroft, NM 88317
a IF NOT H AND Uc-18@ THEN ST
41 IF WH THEN GOTO 11
tT H ae Vt>-i8@ THEN PR
DEN
43 IF NOT N AND F (6009 THEN PR
INT AT 206.16; “CMNDR*
44 PRINT “GOGD FUEL USE“
45 IF a. 16: "CAPT. F:4000 THEN PR
IR FUEL USE“
47 IF NOT H AND F:2000 THEN PR
INT _AT 26.26. “PRUT
6 PRINT “NEED TO CONSERVE FUE
49 IF NOT H AND F<isee THEN PR
INT AT 280.16; “RESCHOOL"
woe PRINT “TOO MUCH FUEL USED
Sl STap
November/December 1982
y
SINCLAIR/TIMEX USERS
NOW SYNERGISTIC OFFERS YOU THE ‘SMART™ CHOICE
DESIGN
THE SYSTEM LOGIC KBD-I
‘SMART™ KEYBOARD
ENHANCEMENT FOR
SINCLAIR/TIMEX
COMPUTERS
SYSTEM LOGIC — KBD-1
FEATURES SPECIFICATIONS
e ‘SMART™’ shift function
e Tactile feedback i i
e 59 keys (with left and right shifts) Contact resistance: 200 @ 1mA
e Standard (QWERTY) typewriter format Contact rating: 1.0V/A
e Silk screen labels compatible with
Sinclair/Timex keyboard | Contact bounce: <5.0mSec.
e Compact design Switch life: 5.0x10® operations
e Rugged yet attractive black anodized
aluminum cabinet typical
e Simple installation
e Custom engineered for Sinclair/Timex Switch force: <9.0 oz.
computers Switch travel: .015 in.
e Auto-repeat function (fast/slow modes)
MAIL ORDER TO:
SYNERGISTIC DESIGN
P.O. BOX 411023
CHICAGO, ILLINOIS 60641 *I!linois residents include
6% sales tax.
PRICE QTY.
SYSTEM LOGIC KBD-I KEYBOARD $85.95 *
Shipping and handling (per unit) pea eee
Money order or check TOTAL
NAME
ADDRESS
g CITY
SUnNcC notes _
SYNC at the Drawing
Board
Our theme section this issue is
“SYNC at the Drawing Board.” This
selection of articles illustrates some of
the techniques that can be used to gen-
erate graphics displays. If the number of
manuscripts we receive means anything,
producing a graphics display is among
the most popular challenges of computer
programming.
All of us can draw a picture on paper
(some better than others, of course). We
envy those who can draw real pictures
with a few movements that seem so
effortless. Now the computer has given
us all another tool for making pictures
and the challenge of mastering the dis-
play screen.
Simply filling the screen with a graph-
ics display is one of the first program-
ming efforts. Such a display can be
produced through a program involving a
random element such as several of our
10
“Try This” entries have done. These
brief programs can fill the screen with
constantly changing patterns. However,
we have no control over the display once
the program begins running. The
greater challenge is to produce a display
that shows what we want whether a pic-
ture or some kind of graph or design.
The ultimate display is one that the user
can interact with and that will modify it-
self in response to user input. The games
with moving graphics are prime exam-
ples of this type.
Graphics ate fun for their own sake.
To be able to control the graphics
capabilities to produce hi-res displays is
the programmer’s reward. In order to
develop displays with moving graphics
and high economy in programming, we
need to learn something about machine
language programming. However, many
are also interested in using graphics as
part of a larger program to display data,
liven up programs, provide a challenging
game, or just have the fun of creating a
display.
ZXPRESS™ —
The programs in our theme section
illustrate how mathematical formulas
can be used to provide graphics, how to
get the smooth graphics that resemble
movie or TV pictures by the use of ma-
chine code, and how to use such pro-
grams as subroutines within larger
programs. We hope that these articles,
along with our “Just for Fun” entries,
will challenge your imagination and give
you some tools for your own
programming.
Theme Sections
Coming
Our next issue will feature “SYNC in
the Home Office.” Other projected
themes include “SYNC on the Job”
which will show some of the ways
Timex/Sinclair owners are using their
computers for their jobs, “SYNC at the
Concert” which will show some of the
musical capabilities, “SYNC at the Ar-
cade” which will put together some ar-
cade type games.
Other theme sections will depend on
the availability of articles to support the
setion. So if you have a possible article to
support one of these themes, we want to
see it.
Non-Trivial Solutions’ new Integer Basic Compiler! Now you can write
programs in rapid time!
compiles ZX-81 Basic source code to machine language: write and debug
in a subset of ZX-81 Basic: compile when it’s right
increases the speed of the ZX-81 20 to 50 times
208 regular variables, 26 dimensioned variables; variables are 16 bit
two's complement integers
compiled code can be stored in REM or in 2000H to 3FFFH address
segment, if available
the source code can be located anywhere and the position of the com-
piled code can be selected, allowing you to write a long program, com-
it in pieces, and link the pieces
4 functions --
14 key words
16K or more RAM
$29.95
Still available:
PEEK, RND, USR, IN KEY$
e Letter Raiders & Life with Palette
e challenging games
e $9.95 each
(Copyright 1982 NON-TRIVIAL Solutions)
ZXPRESS
Die ea
Letter Raiders Me eet ge
Life with Palette [| |
Card No.
TOTAL
LI Check enclosed Charge my O Mastercharge O Visa
Exp. Date
Signature
A HR
NON-TRIVIAL SOLUTIONS
P.O. Box 2941
Amarillo, Texas 79105
(806) 376-5723
SYNC Magazine
Od
ane
gie
A
D,
N
D
Q)
Q-
=
(Q
Un
os
pa
5
Q)
JD
O
a
O
(ar
op.
D
=
(D
Q)
5
n
use of Gnomes
AL
it
|
il
Ņ
BYTE-BACK modules
164-K MEMORY $119.
NT INFORMATION
xo BYTE- shes MD-1
MODEM only $119.9%
WIRED and TESTED $149.95
Use your phone to connect your “LITTLE” ZX81 to the
“LARGEST” computer networks in the worid. With BYTE-
BACK’s MD-1 MODEM connected all you do is dial a
phone number (usually local), press a few keys and watch
the data appear on your TV screen. (Software is included)
This MODEM can be used in either the “originate” or
“answer mode with selectable baud rate.
You can have immediate access to:
UNIVERSITY COMPUTERS,DOW JONES.
UPI, AND MORE !
As an extra bonus an RS-232 port is provided to
allow you to drive all standard RS-232 peripherals.
(75 to 9600 Baud)
BYTE-BACK’S BB-1
CONTROL MODULE
In Stock!
e 8 Independent Relays
(with LED status indicators)
e 8 Independent TTL Inputs
fats Schmitt trigger buffers)
e By using a single POKE command
you Can change and latch the status
of each of the 8 relays.
e Your ZX80/1 can read the
Status of all 8 inputs by the use of a
single PEEK command.
e A comprehensive manual is in-
cluded that has complete application
details.
$59.00
WIRED and TESTED $69
WIRED and TESTED $129.95
IN STOCK!
SAME DAY SHIPMENT!
WHY PAY MORE? |
BYTE-BACK’S M-64 extends the memory of your ZX81 or
Timex-Sinclair 1000 to a full 64-K. It’s user transparent. It
plugs directly into the back of the ZX81 and has an
expansion port to allow you to still use a printer. No extra
power supply is required. It has all standard features plus
the area from 8-16-K can be switched éut in 2-K incre-
ments for memory mapped peripherals, PROMS, etc.
Same proven reliability as our M-16 with thousands in
use.
EXPAND YOUR 16K SYSTEM
m = $59.95 KIT
WIRED and TESTED S69 95
If you have a Sinclair 16K
RAM module and need more
memory, expand it to 32K and
beyond by using BYTE-BACK
M-16 MEMORY MODULES.
YOu can't connect two Sin-
clair 16K RAM modules together, but you can connect
one Sinclair 16K and one or more BYTE-BACK 16K
modules to get all the memory you need.
THOUSANDS IN USE WITH PROVEN RELIABILITY
IN STOCK — SAME DAY SHIPMENT
RS-232 Module $59.95
WIRED and TESTED $69.95 IN STOCK
Allows you to connect ZX81 to all RS-232 printers & terminals.
ALL MODULES CARRY 90-DAY WARRANTY
TRY BYTE-BACK MODULES FOR 10 DAYS WITH NO OBLIGATION
Remember with: BYTE-BACK modules you are NOT limited to using only one module at a time!
O M-64 Blank PC Board
Shipping and Handling $4.95
ORDER PHONE (803) 532-5812
Exp. Date Card No.
O'M-64- Wired and Tested =.=. 2
Bill My
$119.95
et Ses $129:95
919.95
O Visa O MasterCard
BYTE-BACK CO.
Name
LEESVILLE, S.C. 29070
Ph. (803) 532-5812
Address
City/State/Zip.
RT. 3, BOX 147 e BRODIE RD.
Mail To: BYTE-BACK CO. e Rt. 3, Box 147 © Brodie Rd. è Leesville, S.C. 29070
The ZX81 BASIC
Programming Manual
If you make a reference to the manual
that you received with your Sinclair
ZX81 or 8K ROM in any aarticle or
correspondence sent to SYNC be sure to
specify the edition. There are four edi-
tions of the book available now: the first
and second British editions and the first
and second American editions. There
are some differences.
SYNC Is Growing!
You Can Help!
The first nine issues of SYNC gave
readers a magazine of 48 pages plus cov-
ers with about 30-35 pages of editorial
and 12 to 15 pages of ads. Volume 2:4
jumped to 80 pages; Volume 2:5 to 100
pages. This issue has 124 pages showing
increases in both editorial and ad
content. _
To maintain this size magazine we
need your help in two ways:
1) We need articles and contributions
from authors. So if you have an article of
possible interest to SYNC readers, we
would like to take a look at it. If you
have been thinking about writing some-
thing, drop us a note telling us what you
have in mind. We will tell you whether
we would like the idea developed and in
what direction to increase its usefulness
to our readers. If you missed “Writing
for SYNC” in SYNC 2:1, send a self-ad-
dressed stamped envelope for a copy.
This will help you put your article to-
Glitchoidz
heport
ZX Destroyer (2:4)
The author suggests the following
changes and clarifications:
Figure 6:
1 REM: 6th line down, last character is
U. Last line, change last F to E.
2 REM: Ist line, change C (5th char-
acter) to A; change 2 (4th character from
right) to 1.
30 REM: Ist line, change 4 (5th char-
acter) to 5.
Figure 7:
Line 90: changee 243529 to 243473;
488940 to 488758; 612608 to 612426.
Line 110: change 733561 to 733408.
IT’S HERE!
The keyboard you have
been waiting for!
ZX81 OR TIMEX SINCLAIR 1000.
ORDER TO: E-Z KEY
SUITE 75A
QUINCY, MA 02169
November/December 1982
A LARGE 60 KEY TACTILE: FEEL KEYBOARD
(MEASURES 10” x 4”) THAT PLUGS INTO THE SAME
CONNECTORS AS EXISTING KEYBOARD ON YOUR
IT HAS ALL
SILKSCREENED LEGENDS IN 3 COLORS ON THE
BASE; MOLDED LEGENDS & GRAPHICS ON KEY TOPS;
8 AUTOMATIC SHIFT KEYS (NO SHIFTING REQUIRED)
FOR EDIT, DELETE, SINGLE & DOUBLE QUOTES,
COLON, SEMI-COLON, FUNCTION & STOP; 5” SPACE
BAR; 2 SHIFT KEYS; NUMERIC KEY PAD.
ONLY *70.°°
MASS. RESIDENTS ADD 5% SALES TAX
SHIPPING & HANDLING $4.00/UNIT
ENCLOSURE AVAILABLE. QUANTITY DISCOUNTS.
WE ACCEPT MC/VISA. PLEASE INCLUDE #'S, EXP.
DATEAND SIGNATURE. FOR MORE INFORMATION
SEND SASE. SEND INQUIRIES, CHECK OR MONEY
711 SOUTHERN ARTERY
timer
15
mental data, etc. . .
PRACTICAL ZX-81™ SOFTWARE
ZX-PANDING, LTD., an American company, uses the tremendous
ZX-81@ data handling capabilities to make our daily tasks easier. Programs
are on cassette, thoroughly tested, with easy-to-read printed instructions,
written in BASIC to allow tailoring to your special needs.
; 1. YOUR SPECIAL DAY—1K—Good example of using succes-
sive equations to answer a practical question. Enter any date in history,
and ZX-81= will tell you the day of the week on which it occurred. Useful
in many fields and a great ZX-81= demonstration. ..... ONLY $3.75*
_ 2. CLOCKS AND TIMERS—1K—A digital clock (standard or
military time), a count-up timer (for telephone calls), and a count-down |
(Useful in cooking). Another great ZX-81@ demonstration .ONLY
_ 3. ANYPOINT PLOTTER—1K—Crunches any data to allow
graphing of any paniya a Baes stock prices, temperature, experi-
4. CHECKBOOK, INCOME TAX AND BUDGET ORGANIZER—16K A
powerful yet easy to use finance program—10 jobs in menu driven format.
Checks and deposits are totaled and itemized under desired categories for
budget planning and income tax preparation. Makes checkbook balancing
easy. Ninety transactions manipulated at one time with 16K . .ONLY $13.75*
LY
2X-PANDING, LTD.
order to cover POSTAGE AND HANDLING.
P.O. BOX 25 (Foreign orders add $2.00 to cover air
NEWTON, NC 28658 costs. Your payment must be in a U.S.
gether. If you are interested in writing
reviews, see p. 110 below.
2) We need advertisers. If you have a
product, please contact Karen Musmeci,
our new Advertising Sales Manager (see
the contents page for details). If you
have bought a product whose manufac-
turer or distributor has not advertised in
SYNC, please plant a suggestion. a”
Figure 8:
Do not enter lines 10-35.
Author’s note: I have a SLOW convert-
er from MicroAce which apparently has
a different character sync. This causes
small lines on some characters on some
computers. POKE 16547,1 might help.
Some problems with the alien’s laser can
be corrected for those who have the pro-
gram already entered by: POKE 16748,13;
POKE 16764,149; POKE 16779,140.
Just for Fun (2:5, p. 20)
The first character of the following
carry-over lines was lost. Add at the be-
ginning of the carry-over:
Zap: Line 40: a period.
Catch 25: Line 120: a comma.
Block Transfers (2:5)
p. 71, Figure 2:
Line 230: Delete.
Line 260: Add a ; at the end. a”
ZX-81™ Not Just
For Games
Anymore!
ALL 3 FOR ONLY $8.75!
Free catalog with self addressed stamped
envelope.
*ALL orders pioase add $1.25 to total
dollar draft payable to U.S. bank.)
TS/ZX ASCOM
(operates with 1K on board ram of the
TIMEX or SINCLAIR) $24.95
Now the real power of the computer is at your
finger tips. Our new software routine will operate
the ZX-81 or TIMEX 1000 as aterminal...Program
requires our parallel/serial board and your
modem. Converts CLIVE code to full ASCII and
allows you to have dial access to the computer
world for data bases or just computer to com-
puter communications.
INTERFACE BOARD SERIAL AND PARALLEL
$99.95
Super new product. This interface board brings
the world of TIMEX and SINCLAIR personal com-
puters into the real world of computers. Features:
e Centronics Standard Parallel Interface to
Printers, etc. includes handshaking.
e RS 232 Serial interface with full specifica-
tions and input or output.
e Qn board driver routines in 2716 EPROM
e Switch selectable BAUD rate for high speed
(9600) communications
When the board is used in connection with our
TS/ZX ASCOM software then the user can access
any of the many network ON-LINE services or
communicate directly with other computers.
LOW BUDGET 16K RAM PACK
$44.95
Just arrived in time for the gift season, a low
priced 16K ram pack. Standard features of our
other packs, but it is shipped without the final
case. Guaranteed not to let you down and makes
memory affordable.
ew Releases
TIMEX 1000° / Siri 2x-81°
Personal Computer Software
TS/ZX PAC MAN (16K)
Adventure Arcade Style $19.95
Fantastic re-creation of the famous arcade game
now on the Timex or Sinclair personal computer.
FAST MOVING and requires a lot of skill. If you
win at the first level then there is more to follow.
Degrees of difficulty on a full size screen maze,
with PAC MAN type graphics and moves. Don't
miss it.
COMP-U-SHARE (16K)
PERSONAL HOME FINANCE $24.95
Excellent program that allows the user to main-
tain an up to date record of his portfolio. Stocks,
Bonds, Funds or other financial investments.
Developed by a professional for his own use.
Monitor your results or run a forecast of
expected results. Includes P/E ratios, dividends,
etc. User guide included.
PROPERTY MANAGER (16K)
BUSINESS or PERSONAL FINANCIAL $24.95
Our accountant believes that this program
allows your system to be tax deductible as an
individual, we will advise upon further notice.
Property owners or Managers will find this an
extremeiy valuable tool. Provides for any com-
bination of 10 units in 2 buildings or 2 units in 5
buildings per program. If you have more than 10
then just run a new copy of the master file. The
program tracks each unit for RENT, up to 15 var-
lable expense categories, and 15 fixed expense
lines, all for a full year. That’s right 12 months of
data including late payments, and optional save
routines for the ZX-99.
Personal
Home
Business
Education
Adventure
CASH FLOW FORECASTER and
BUDGET ANALYSIS (16K)
HOME or BUSINESS $19.95
Brand new financial utility for use at home or in
the office. Keeps detailed records for twelve
months in the three major categories. INCOME,
FIXED and VARIABLE EXPENSES PLUS LOAN
BALANCE OR LINE OF CREDIT. Provides the user
with the ability to forecast or track the history of
his cash flow.
INVENTORY CONTROL AND STOCK ANALYSIS (16K)
HOME or BUSINESS $19.95
The first in a series. This program operates as a
Stand alone control or it will operate with the
ZX-99 Tape control system for file handling. Fea-
tures include stock control of units and of
values, with separate routines for receipts and
returns or sales and shipments. Special routine
for adjustments in units or values. Program uses
average cost for inventory value and shipments.
Allows the user to SORT by code or alpha name.
Quick access to stock levels. New feature will
allow the user to automatically expand the files
for 32 or 64K ram packs.
data~asette
THE LOGICAL EXTENSION
Tape Controllers and Printer Interface
Just look at these fantastic features
e ZX-99 automatic tape control of up to four cassette
recorders as input or output under full software con-
trol. Printer interface for any RS 232 serial printer giv-
ing the user access to all 132 characters of ASC Il
characters. Data retrieval word processing for real
mini-computer capabilities. Plus! Automatic tape to
tape copy, tape block skip and diagnostic assistance.
e Jape load interface. Say goodbye to the load prob-
iems associated with the system. The tape loader
allows the user to test and pre-set the cassette
recorder to the exact sound level expected by the
Timex or Sinclair. No more five minute load with un-
Satisfactory results. Unit has LED lights which tell the
user when the recording level is correct or when the
sound needs modifying. A real big time saver.
Ram Packs 16K, 32K or 64K
Expands the memory available from 2K up to a maxi-
mum of 64K, but with a real difference. Our 32K also
comes in a piggyback version that allows the user to
plug in his 16K and have a full 48K of memory. Finally
you can buy the 32K piggyback version now and add
another 32K later for a full 64K in the end. Plugs
directly into the computer and does not require any
additional power source. Features a LED light to
signal when the ram pack is operational.
Keyboards |
The Klik and Executive. Both units offer unique fea-
tures. The Klik is full replacement for the “Touch Sen-
sitive” Timex keyboard. Features include separate
space key, plugs into your Timex, no special case
required, positive feedback from key depressions.
Executive keyboard is the ultimate in the ZX-81
Timex/Sinclair range. It is a full size with special fea-
tures like automatic repeat key, full length space bar,
and “beeper sound” operated with an on/off switch,
plugs into the computer or we will retrofit it for you.
Data-assette offers Timex and Sinclair
owners something new.
Users may up-grade gradually as their needs
change. Each unit is fully tested and carries our
90 day guarantee. Purchase the full suite and
you have a mini-computer with real data pro-
cessing. Our product range allows the intelligent
user to expand his system as his needs change. ible or selectable. Now all of this and our full
Finally all of our software has been specially range of software (over 50 choices) is available
selected to offer the user a tested and reliable from your local Timex computer dealer or store.
product that has been developed with two impor- So come on in and try out the latest logical
tant criteria: user friendly and hardware compat- extensions.
PRODUCT UNIT TOTAL Data-Assette has over 50 software programs in its library, and we are
NAME and CODE PRICE QTY. VALUE adding more each month. If you wish to see our catalogue or join our mail-
ing list, just send $2.50 which will apply towards your first order.
$ 49.95 Sete ae te eee ene Information and product spec sheets may be obtained by mail, or phone our
$109.95 E RUE HOT-LINE 800-523-2909; in Penna 215-932-4807.
$9995 | = | ss PLEASE RUSH MY ORDER TO:
Rs ean eee
Charge To: VISAO Master LJ
TX/ZX ASCOM $ 24.95 Send to: Data-Assette (sy-3)
Shipping/Handling
56 South 3rd St.
Oxford, Pa. 19363
| | ee aan De ede Reus a ee ee
TOTAL ORDER
teru EAS
4K ROM
Type in the program listing below.
Then RUN the program and watch the
results. The program takes about 15 sec-
onds to finish RUNning. Then try dif-
ferent values for lines 50 and 70. The
values 8 and 136 produce an interesting
display.
Our thanks to:
Joseph Ho
297 Gibson St.
Fredericton, N.B.
Canada E31 4E7
190 FOR Y=-10 TO 10
20° FOR. AES O TO TO
oO IF ABS (CY) =(ARS(Y) /2)*k2 AND#
ARS (X)< ABS CY) +1 THEN GOTO 70
40 IF ABS (X)=(ABRS(X) /2) ko
ABS (Y)ZABS(X)+1 THEN GOTO 70
JO PRINT CHR#(0) S
AND#
60 GOTO 80
70 FRINT CHR (1268) ;
80 NEXT X
90 FRINT
Too NEXT ¥
TS-1000 ZX 80/81
8K ROM
In this issue we have two little pro-
grams that are similar in the results, but
different in the method of achieving
them.
Type in the following line:
1 REM Y GOSUB X PRINT èE LN
P? LET Wer NEXT
Graphics line note:
ss
Then type in:
POKE 16517,71
If you want to save this program, do it
now because you will not be able to
BREAK and save it after RUNNING.
Then type in:
RAND USR 16514
and observe the results.
Our thanks to:
Scott Laska
2205 Calumet Drive
New Holstein, WI 53061
8K/16K
FUN GAMES FROM
8K ROM
Type in the listing below. The REM
statement must be entered exactly as
shown.
Line notes:
1: TAN on the E key
50: inverse space (22)
80: A (12)
After the program has been entered,
hit SLOW and ENTER and then RUN
and ENTER. Observe the results. To
exit the program hold the M key down
and hit the BREAK key. You can exit
the program by just hitting the BREAK
key, but the screen display will “fall
apart.”
Our thanks to:
Tom Jury
415 W. Walnut St.
Lancaster, PA 17603
19 REM Y@O@OTAN
XF
Y=8 TO 14
PRINT AT Y,10;“}
90 N Y
100 LET L=USR 16514
110 a Urera RS i
EY =" ee TH N ET =
130 POKE 16515.,K F nati
GOTO 1820 m
Haymarket Software
e All programs on cassette and fully documented
Easy to play by 1 or 2 players
Can be played against computer or another
players
Playing boards are displayed
Educational & fun for all ages...
meee PEN
P LiGH* i
L pgi
xk k k kkk kkk x
“FLIP-FLOP” an interesting combination of
Checkers, Othello, and Tic-Tac-Toe.
5 levels of play
‘“ZX-Black Hole”
Light Pen for ZX81. Cassette included.
Control Board for 8 devices
Character Generator
6K memory (Internal)
$69.95
$49.95
$59.95
$49.95
mail to:
ZODEX east hill,
oakham, ma. 01068
k November/December 1982
pe ae PSP ESS AE SH PU Sh CS PRC SR Se
Tdo
SCRE BE DC BC BE T eda T adeo T ai T aka T IC ICBC IC OC IC T o T ao T aa T ca T da T ea T a T da T da
yg
Peo T do T o
Teo T da T do T do T aa T do T da T do T eda T do T ao T adas
Ta
Mal dt d a d] daS d d da T NC BC IE IC BC IC T do T da T da T do T do T do | d T do
Tk
Py T a Taka T ahs? an T a eT aa Tead T: da Tro T A BENE Se Ve"
os
4
E
Tade Ta Ta Tp
F
b
PITLT. 3C 3C Vde T de T hoT da T de T de Y da T da T da Y da T d T da T A T a
A a Cececee eres! a
FEW | OPAeeocer GLL oe
Learns j oer tii H -
about our i ee ” 7 = apie BOARD
KEYBOARDS : I ti- a manual covers
what you need
to know about
keyboards in general
and shows how to wire
them to your Sinclair or
Timex computer. It includes
circuits on how to use extra keys
We only sell kits
because we feel that
the best way to add a
quality keyboard to your
computer, is to remove the
bottom and solder 16 wires to
the circuit board. If you can brush for Reset, Shift-lock, Auto-repeat,
your teeth unattended then you possess and other user-defined functions, plans
all the manual dexterity needed to do the Keyboard with manual for a 3 amp power supply that lets you
job. Most keyboards on the market are run your computer and add-ons most any-
similar and will abo require a little soldering $37.50 where, including your car, and plans for a
If you can solder one end of a wire, you can case with tape and/or module storage. If you
assemble a kit. So, we only sell kits. decide to buy a keyboard later, you may deduct
the price of the manual.
This keyboard was originally made for T.I. It has 62
full-sized keys with gold contacts mounted to a
metal plate 4” by 15.5”. This is a quality
keyboard and our manual wilbhow you
how to make full use of all those keys.
The
EPROM
Programmer
puts an end
to cassette tape
The Joystick Controller handles up to 4 Atari headaches by letting Semi-kit; board, parts except EPROMs, plain
type joysticks. It allows full 8 direction you store programs in sockets, manual, No case. $49.85
movement and fire control in machine ROM. Simply load a pro- Full-kit; Includes ZIF sockets and case
code for fast response. gram, then your computer Without EPROMs $74.45
Manual $ 6.00 can store it in one or more With EPROMs $94.45
Bare-board; no manual $12.00 2716 EPROM’S. The module holds Wired and tested; Includes ZIF sockets
Kit; board, parts, case, and four 2716's, giving you 8K of ROM Without EPROMs $86.95
manual $39.95 in the 8K to 16K slot. By using ZIF With EPROMs $106.95
Wired and tested $49.95 (zero insertion force) sockets, ROM’s can Bare-board; No manual $19.75
be changed as easily as cassettes. Programs Manual: $6.00
load in seconds, not minutes; first time every-
time. Store permanent machine code subroutines,
EDGE CONNECTORS upper/lower case character set, math symbols, special
TATATA ayaa yaya vaya T ee T ade T ada T ahi vara Y aa T ada T ae T ae T ae re
AIl prices postpaid U.S.A. only. In
Canada add $2.00 for manuals or
$5.00 for all other articals. All other
W countries add $4.00 for manuals or
$ $10.00 for all other articals. U.S.A.
funds only. Check,money order,VISA,
Mastercharge. Phone orders accepted.
Texas residents add 5% state sales tax.
TIT LT ATS TAT aT aT de T ado Y do T da T da o T da dl da T do T CSCIC OC ICICI ThT. B66 dT dT dT do] do T da T de Y AT dT de T da T da T do Y da T do T de Y da T e T.
46 Gold contacts
Wire-wrap, solder
tail, or PCB
Your choice
$4.95
graphics, tool-kits, de-buggers, etc. all without using RAM. VOLTAGE REGULATOR
LM323K
5 Volt
3 Amp
$3.95
punuaunnununEENER
28 0 208 8 OE BE A
ERY RS ORE SRE AE T LE 1 j
Rod EERFTE EI] 5
TETEE ae Cie ia
The Synchronize system is designed to put
maximum fun and utility in your hands at
minimum cost. Manuals for our products may
be purchased separatly, and are complete
enough to build your own modules using
your own parts. If you decide to buy a kit
or wired module, the price of the manual
may be deducted from the advertised price.
t
4
at oe ye oe Se COC OT BE
Ve ihe de de. ae
eS
P.O. Box 1667
Pp tn Ey
1-512-896-128
=
pte
Kerrville, Tx. 78028
5 ae Ge do Gee OC BE BE BE IC
ye a ths ARSENE SESE HG IE BOP
PAT,
ne T aks ao ao, Ae Ta
ida | do | do T do
yeh AS PS ha PS Pe oh Tol
che de ce | ce te dee
FoF % es
ye or he 669892 Fe Oe BE I ala Ya
Pitar.
ce de da da
PPT.
rede Tda d cin. cian ale a. che a cab che ahi de ue th cde ae
<
E BC BE OE BE IE OL BE SA
ee ee Oe
e SEARCH AND REPLACE
eRe PER n
a
MAZOGS
RA RETZ roe wee
UNCLE
CLIVE
T-SHIRT
MORE TS1000/ZX81 SOFTWARE FROM...
a SOF TS YNC, INC.
14 east 34st NY. N.Y. 10010 ems v/c & VISA ACCEPTED (212) 685-2080
WRITE FOR FREE CATALOG & PROGRAM LISTING
iust For run
Generally SYNC prefers articles in some depth to help you get more out of your
computer. However, we receive many short programs that illustrate a point,
demonstrate a technique, or show something the reader has found interesting.
“Just for Fun” shares these programs with you. If you learn something, great. If
you have some fun, great. If you have some that you want to share, send them
to: Just for Fun, SYNC, 39 E. Hanover Ave., Morris Plains, NJ 07950.
Mousetrap
M. Hampson
In “Mousetrap”? your objective is to
trap the mouse which is represented by
the O. Your position is shown by the $. :
By constantly decreasing the amount of
space the mouse has to run in, you will
finally trap it in a small enough space
and win the game. You decrease the
space by building walls with the arrow
keys. While you can go off the sides, you
SSSECRSE- 2 2
ar Tet TO 20
SS
=
3 PRINT CHR 8; TAB 31;CHRS 8
a w a
5 Loni Sea eps ab pi
SSS SARE ANE
© LET V=14PEEK 1623906+2562PEEK
1639F
F LET P-UH34+INTF (RND+30) +333
INT (RNC+20)
S LET D=(32+(RND?>.5) 42) FSCN ¢
RND- S)
9 VEY O UAA
1@ LET Go=a
30° LET ee
100 LET) AsAet
201 IF A-9 THEN GaTa aaor
3102 IF PEEK (P+D) THEN GOTO see
28S POKE P.a
110 LET P=P4pD
T20 POKE P. S2
528? IF PEEK @<3118 THEN POKE ©®,
{218 IF INKEYS$="S" THEN LET @=0+
fii IF INKEYS$="S" THEN LET 9=0-
4212 IF INKEYS="6" THEN LET @=9+
gets IF INKEYS="7" THEN LET O-O-
—
1228 IF PEEK @4:118 THEN POKE ©,
—
325 LET GO=GOe1
230 Gora 3s
November/December 1982
cannot go off the top or bottom. Your
score will be displayed in the upper right
hand corner. The aim is to get the lowest
score possible.
Graphics line notes:
l and 5: A (32).
8010: Inverse space (3), “GOT
HIM. YOUR SCORE IS” in inverse
characters, inverse space (2).
M. Hampson, 7 Hereford Dr., Clitheroe, Lancs BB7
1JP, U.K. Reprinted from The Ultimate Magazine with
permission.
is Sue : r
S928 PRINT s28- GO ‘Ee
saza PAUSE Seeee
3031 IF INKEYS="K" THEN coro S
Sa35~ CLS
Sada RUN
Seeaea GOTQ 85882420412
S158 IF PEERK iP-333 =PEEK (P-2) T
HEN We PH Sal Baa & oS
S461 IF PEERK {P-233)} AND D=-34 TH
FA N int ES > =-32
3262 IF PEEK (F-1}3} AND G=-34 THE
LET OG=-3e
3153 GoTo 282
21309 IF PEEK iP-3B3 =PEEK {P+1i} TF
HEN LET S=3e
5351831 IF PEER {F-32323 AND DĄD=-32 TH
=h Eri tr =34
391322 IF PEER P42} RHE O=--BS THE
i LET O=-34
21833 GaToO 1282
S528 IF PEEK (F433: =PEEK {(P-i: F
HEN LET O=-32
SR21 IF PEEK F333} AND D=32 THE
GE DO =-3ł4
2522 IF PEEK (P-1i? AHD DOD=32 FHEN
e)
LET D=2324
3736 GOTO 128
964@ IF PEEK
HEN LET O=-34
2341 IF PEEK
T O=-32
{P3333 =PEEK (P41) F
AND O=04 THE
RAND O-=34 THEN
(P2222
tP4+322
Unvader
M. Hampson
You have all played various kinds of
invader in which the ships are streaking
in from above your base and you must
defend yourself. Usually you are greatly
outnumbered by a fleet of ships.
Have you ever wanted to be on the
other side? Now you have that opportu-
nity. “Unvader” lets you play the game
from the other side. You are the attacker
coming in from the top of the screen,
and the ZX81 is trying to shoot you
down.
Your mission is to land your ship
safely on the hostile planet’s surface. To
do this you must dodge the shots aimed
at you as you descend. Use the 5 key and
the 8 key to move left or right and the 6
key to descend.
This program sets up the graphics for
your ship, the ZX81’s firing base, and
the missiles can be seen. A hit on your
ship is shown graphically.
Graphics line notes:
150: E ES Ry Ry 1,6 W, 4,
210: 5
1@ LET P=15
20 LET a=1
30 LET R=P
4@ L c=8
5@ LEF B-C
11@ LET R=R+5G6N (P-R? (RND>?.S?
120 LET P=P+(INKEY$="8")} # (P7029
}-t(INKEY E= Sra PA
130 LET @=0+ (INKEY$="6")
1490 S5 {
S59 PRINT AT @,.°; ‘WARE; TRe P;
a : ppoe Sas AF 21., R; e m
158 019 THEN GOFO 30%
i70 PRINT ar C Buon
130 C=C -1
c,8;
{PEEK 169098+256%
re Kta AND Kois THEN GOT
210 PRINT “3”
220 GOTO 188
300 PRINT AF I0, 18; “2+5UICCESS ++
STOP
48@@ PRINT AT O+2,P-2; "2B00NHs"
Draw and Store
James John Hollandsworth
Draw and Store not only allows you
to draw a picture, but also to store your
picture on tape for later use. When you
have entered the program(or LOADed
it), type in GOTO 1 and ENTER. The
computer will ask if you want to draw
the picture it has stored to be put on the
screen or to erase and start a new
picture.
The direction keys are used to move
the pixel around. Holding the shift key
down while pressing the keys leaves a
trail.
When you want ot save a picture, hit
ENTER and the display file will be
PEEKed and put into a character array.
SAVE the program and its array on
tape. When you LOAD the tape later,
you can also easily substitute your favor-
ite drawing routine for the drawing rou-
tine section of the program.
James John Hollandsworth, Box 163, Montcoal, WV
25139;
ZX81
orpery ENTERTAINMENT PROGRAMS.
CK161 SNAKEBITE
Program notes:
1-80: The drawing routine.
505-550: Loads the array with the
contents of the display file.
600-750: Reconstructs the picture
from the character array.
2K RAM
2 REM «JJH 1-31-52
2 REM USE GOTO 1
5 GoTo Saa
18 LET Y=@
1S L X=
20 PLOT XxX,Y
25 PAUSE 40
30 POKE 165437, 255
3S LET R=CODE IN y
42 IF A=118 THEN TO See
SS IF A<1@@ THEN UNPLOT X,Y :
ET X=X?1z2(R=36 OR A=115) #:
X<639) -1% (R=33 OR R=114)} 4(X>Q)
ET Y=¥Y+isetA=35 OR AB=112)} 4:
R =2i3) + fY>@)
SQ@S FOR R=1i TO 22
510 FOR B=1 FQ 32
529 LET ASfR,B)} =CHRS PEEK ( (PEE
Beet er ss IPEER 216397) +332 (R-
3
@ STOP
@ PRINT “SK ROM DRAW A PICTUR
Ə PRINT “NEW PICTURE? Y OR N”
ə INPUT D$
540 IF D$="N" THEN GOTO 720
S0 DIM Ag(22,32)
GLEVA computer ware
MACHINE LANGUAGE PROGRAMS
CK165 ASSEMBLER
Number Nine
Jon Passler
The object of Number Nine is to over-
write the digits O to 9 in order without
recrossing your path or exceeding the
boundaries of the playing area.
Enter line 1. Note that keywords are
used to save memory. Do not type them
in letter by letter. First enter 1 PAUSE,
backspace, enter UNPLOT, and back-
Space agains, and enter REM. Proceed
to enter the rest of the characters shown
in the line.
Graphic line notes:
1: T, A, and 3.
21: graphics space.
31: A.
After entering the program, enter in
the immediate mode, i.e., without a line
number:
LET R=16514
LET B=156
LET C=165
LET S=15
LET OA?
LET K=1+PEEK 16396+256*
PEEK 16397
K will have to be reinitialized if any
changes are made in the length of the
Jon Passler, 344 Cabot St., Beverly, MA 01915.
TS1000
Eat the snake before it eats you.
Variable speed. Create your
own hazards.
Demanding game of ery
strategy that can be played by 1
to 4 players.
CK162 STARSHIP TROJAN Pit your wits against the dan-
PRINCESS OF
KRAAL
CK163 STARTRACK
FUNGALOIDS
CK164 CRAZY-CARDS
CUBE
gers of outer-space and try to
save your damaged space-craft.
Face the monsters hiding in the
underground complex to find
the treasure and save the Prin-
cess.
Use graphic photon torpedo
attacks to kill off the highly
mobile Klingons.
Save civilization by bombing
the ever-multiplying fungus.
Beware— it fights back.
Learning the rules does not
seem to help. Totally addictive
for cheats.
Use your computer to solve the
mysteries of the Rubik Cube.
TWO GAMES FOR THE PRICE OF ONE (ONLY $9.95)
All PROGRAMS 16K
20
2 pass assembler written especially for the ZX81/
TS1000 (16K). It is simply the best assembler avail-
able for those who wish to write their own
machine code programs. It is designed to run
alone, or together with the dis-assembler, and/or
the de-bugging program. These provide a system
for writing, editing, checking and testing machine
code programs that is second to none. .
DIS-ASSEMBLER $9
Allows you to read the ZX81/TS1000 ROM (16K)
with the best dis-assembler program available. It is
written specifically for Sinclair/Timex computers,
and unlike some programs modified from Intel
8080 dis-assemblers it gives full Z80 Mnemonics.
DE-BUGGER $9.95
Makes writing machine code programs easier.
Works entirely in decimal. Therefore hexadecimal
is not needed. (16K)
Please send check or money order. NO CASH!
New York Residents only add 81⁄4% Sales Tax.
SHIPPING AND HANDLING
Add $1.50 for first item and $.50 cents for each additional item.
Name
Address
RV ee ee tS - State Zip
Mail To: CLEVA Computer Ware
P.O. Box 2736
Brooklyn, N.Y. 11202 (212) 875-1207
SYNC Magazine
GE take the HARD WORK out of SOFTWARE
a.
RSME ED
FROM COOK LABS — #1 IN CASSETTE SOFTWARE DUPLICATION
e Translate and/or edit T/S or ZX-81 the fast, easy way.
e Save 75% or more of valuable programming time.
RAM-to-RAM dialogue shuttles back and forth at machine
speed — faster than disc.
e Meet the huge oncoming T/S software market by:
1) translating Level II libraries automatically;
2) writing and editing in either Level II or
Sinclair Basic on a conventional keyboard.
The TransCoder I comprises a combination of software and hardware.
The hardware holds an 11-chip board that plugs directly into the expansion
port of a R/S Model I or Model III (32K min. ). The several K bytes of machine
software reside in R/S high memory.
The excellent editing facilities of the host R/S computer directly apply to
editing of T/S Basic programs because the T/S Basic listing will appear on the
screen of the R/S monitor.
Translation of Level II Basic program listings into T/S Basic is accom-
plished and displayed through software on command, with directly untrans-
latable statements flagged for the programmer’s attention. Programs can then
be shuttled to T/S for final debugging and to check displays on the T/S screen.
Communication between the Radio Shack and the Timex/Sinclair oper-
ates in either direction and is non-destructive of the sending source. When com-
pleted, programs in T/S Basic can be filed on R/S disc or tape for safety and
convenient reference.
The complete TransCoder I package — hardware, software, manual — is
priced at only $490,* and will be available in early October. Orders will be filled
in sequence as received. Please write or phone if you need more information.
*Subject to change without notice.
COOK LABORATORIES, INC.
P.O. Box 529
Norwalk, CT 06856 (Phone 203-853-3641)
O Send TransCoder I to address
given at right. I enclose check COMPANY.
or M.O. for $500 which includes
$10 for handling & shipping (Conn. ADDRESS
residents please add sales tax).
O Send information about COOK
software duplication services.
geet ce te eG a ee oe ee
COOK So
program. Once the variables have been
entered, (do not enter) CLEAR or RUN
or they will be erased. Use GOTO 1 to
“run” the program.
Use the I, J, K, and M keys to move
the flashing black character at print po-
sition O,O. This is the character to use
in overwriting the digits O to9, and it
should alternate between being an in-
verse space and an inverse representa-
tion of the next digit to be overwritten.
Before soc mak however, make sure all Sheldon Maloff, 102-432 Huntsville Cres., N.W., Cal-
digits ) to 9 are on the gray field and that gary, Alberta, Canada T2K 5E1.
none got overwritten by another. If you
successfully overwrite O to 9 then you
key and up the L key. You have 10
chances to cross the screen. On each pas-
sage you try to eliminate as many of the
stars as possible. Upon each crossing,
your score is updated to reflect how
many stars you have eliminated and
eight new stars appear.
Graphics notes:
2: inverse space
1 OR Z=SEN PI TO VAL “256"
will be rewarded with a W to indicate a a ath eae ohh OS Song
è ac te 4
win. If you are not successful, the pro- "256" SPEEK VAL ~26597"
gram will end with a 0/35 error 6 LET R=VAL “iss"
7 FOR T=SGN PI TO VAL “20"
message. 8 FOR Z=SGN PI TO VAL “8"
1 REM g@=Yl#: =NOT $4 UNPLOT YU» 9 LET X=RND#VAL “263"+SGN PI+t
NOT t PRUSE TAN p
3 RAND USRR | r (19 IT BEEK X=UAL "246" THEN GO
= H To
ne & PRINT AT RND#5+0,RND#5+0; CH Eliminator 11 BOKE x.VAL "351"
9 NEXT A 13 FOR Z=SGN PI TO VAL "31"
42 LET X=NOT PI Sheldon Maloff 14 IF PEEK (R+Z)=VAL “151"“ THE
15 FOR A-B TO C N CS POKE RZ UAL “146
z . . . . p + ar eo.
17 PRINT AT X.Y; CHRS& A In Eliminator the object is to maneu 46 POKE R+Z,UAL “128"
a eee ne SENKEY § $. ver your spaceship to eliminate as many vats? IF TNKEY f="A" THEN LET R=R+
Toeg, gr TEST an ze: “M" THEN GC stars as possible by running over them. EA R2ZVAL ` '264“+P THEN LET
25 LET X=X+iI$=“M")-(I$=“I"?) indi 19 IF INKEY¢="L“ THEN LET R=F-
aS ter Pap ESS IERE y ine asterisk. Your ahip'e view screen “Be $F cap THEN LET Rentun “a
=K+X¥21+ 3 =
o Sigth PEEK TICOSE "m" THEN eor Wi display a constellation of eight stars. °' 2a NEXT 2
33 IF PEEK L=A THEN NEXT A ca lei dati 8 ; 22 PRINT AT SGN PI.SGN PIiS
35 IF @>C THEN POKE L.cope “w~ Your space ship is moved down by the A 23 NEXT T
BBU ų—2 "= kans a RE NE Ue
? or are postpaid in con peg
| puting Baby BBU and BBU-1 use ex- Boner must bein U.S.c
ad or power supply gets knocked out rency. Send check, money order
, preventing memory loss. international M.O. only.
NCLIARE ...
P.O. BOX 5177, EL MONTE, CA 91734
KAYDE Electronic Systems
ZX80/1
ZX KEYBOARD WITH
REPEAT KEY
Fully cased keyboard ........ $75.90
Uncased keyboard....... ...-. $55.90
Keyboard Case................. $21.90
This is a highly professional keyboard using executive buttons as found on top quality
computers. It has a repeat key and comes complete in its own luxury case. This ts a
genuine professional keyboard and should not be confused with toy keyboards currently
available on the market
KAYDE 16K RAM PACKS
The 16K RAMPACK simply plugs straight into the user port at the rear of your computer. It is fully
compatible with all accessories and needs no extra power and therefore it will run quite happily on your
Sinclair power supply. It does not over-heat and will not lose memory at all. As you may know, some
makes go down to 11K after being on for a while.
This 16K RAMPACK ts very stable and will not wobble or cause you to lose your programme. It comes
fully built and tested with a complete money-back Guarantee.
KAYDE FLEXIBLE RIBBON CONNECTOR
Stops movement of RAM PACK and other accessories
(Not needed with a KAYDE RAMPACK) $2 r
3 >
KAYDE 4K GRAPHICS BOARD Vy
The KAYDE Graphics Board ıs probably our best accessory yet. It fits neatly inside your ZX81. It
comes complete with a pre-programmed 2K Graphics ROM. This will give nearly 450 extra graphics
and with the inverse makes a total of over nine hundred. 359
The KAYDE Graphics Board has facilities for either 2K of RAM (for user definable graphics), 4K of ROM “90
or our 4K Tool Kit Chips that will be available shortly. All the graphics are completely software
controlled, therefore they can be written into your programmes. Here are a few examples: A full set of
space invaders — Puckman — Bullets, Bombs — Tanks — Laser Bases and Alien Ships.
NO EXTRA POWER NEEDED
KAYDE 16K GRAPHICS BOARD SOFTWARE
$ Í PECKMAN: The only true ZX version of the popular arcade game. $
Centipede: “In all | think this is the best presented moving graphics program I've yet seen.” Phil Garratt, 7 7 9
Interface. f O
SPACE INVADERS: The best version available anywhere. Graphics software can only be used with a graphics board
KAYDE 16K 81 SOFTWARE
Centipede: ‘‘In all | think this is the best presented moving graphics program I've yet seen.” Phil Garratt, 87,
Interface. -90
3D/3D Labyrinth: A Cubit Maze that has corridors which may go left, right, up, down. Peckman (the
latest addition in 81 games).
WHY WAIT TO PAY MORE — oer mee 3 pear aes: ee RES fae sat key $75.90 SIGE.
ease send me ...................... re :
FAST, IMMEDIATE DELIVERY : _ Please send sin Srta SaNa RAS TASK PARANNA $59.90 each
i i Pi + S.C oe eh ne ee Flexible ribbo nect : h
Post to: Dept SY-3 l peasan a graphie bons SD l
Kayde Electronic Systems Ltd i Please send me ....................... 16K graphics board software $11.90 each i
The Conae Please send me .......... ec eeeeeeeeeeeeeeeeeeeseneees 16K 81 software $11.90 each
9 i | enclose |
Great Yarmouth l i |
Norfolk NR30 1PJ ENGLAND ue
Tal: 0493 57867 (Dept. SY1) sii i
l i
Please pay by i ;
i | money order or certified
anette Rei miad Tie delivery. i Please add $5 p&p for all hardware and $2 for all software. Please make l
cheques payable to Kayde Electronic Systems Ltd.
LEE, RE D ti ERNE Tae Sem
G
CONVERT YOUR ZX..
FULLER MICRO SYSTEMS ADD STYLE, POWER, VERSATILITY
AND FULL TYPEWRITER KEYBOARD OPERATION TO
AMAZING 2X81 COMPUTER!
THE FULLER FD42 SYSTEM
The ideal Christmas Gift for
ZX81 users.
If you already are the proud owner of the fastest selling small computer i
the U.S., or maybe have a friend or member of the family who’s a ZX
fanatic, what better buy is there this Christmas than the famous Fuller FD42%
System! It converts your ZX81 into a sturdy, attractive and professional unit, 4
with full sized typewriter keyboard. All the Sinclair
ZX81 keys are duplicated with extra shift and
new line keys. The professional momentary
action key switches have a guaranteed life
of 10° operations, and the whole unit
comes to you complete with a money
back guarantee.
IT’S EVEN CHEAPER IN
KIT FORM!
FD 42 keyboard and case kit.
6 FY +$6 p&p.
FD 42 keyboard kit
$37 % +54 pap. |
IT’S SO EASY
TO INSTALL!
You simply unscrew the ZX
printed circuit board from
its base, screw it into the
the new FD case, and
plug in the keyboard. No
soldering or technical
knowledge required.
ZX81 MOTHERBOARD
Also easy to install! The FD system Motherboard fits
inside the Fuller case and allows expansion to the ZX
memory and 1/0 facilities
2 slot B3O-9 + 54 pap.
3 slot 39-95 + $4 pap.
NEW! — Programmable Sound
Generator - adds exciting new
sounds to the ZX81 range $39 +$4p&p.
Separate P.S.U. 9 volts @ 2 amps $14.9 +$4 p&p.
Plug Planner- complete with 3 metres np
of cable and power jack $36 + $6 p&p.
Ram Adaptor Board - adapts Sinclair RAM
pack to fit inside Fuller case
$1995 +$4 p&p.
MICRO
SYSTEMS
Mail to: FULL MICRO SYSTEMS,
The ZX Centre, Sweeting Street, Liverpool 2.
England U.K. Telephone: 051-236 6109
rar ezawae , fe Turn your ZX81 Pi
ed 7 from this to this
PIIA
7
for...
FULLER MEMORY EXPANSION
a massive boost for your ZX81!
The basic ZX81 has only 1k of RAM - now you can
add on an enormous 16 or 64k with our FD Memory
Modules. 9.95
FD16k
+$4 p&p.
TR $59.
FD16k to fit inside Fuller case
+$4 p&p.
S 1 .95
FD64k Memory Module
+$4p&p
ee
lease supply the following items:
| i
AD CODE |
Mail to FULLER MICRO SYSTEMS,
The ZX Centre, Sweeting Street, Liverpool 2.
England U.K.
Name
Fuller FD 16K. Memory Module fees
Address
City /State/Zip
t US Dollars
” m © fF fF Ff fF Ff Feo
Introduction
Have you ever wished for an easier
way to create graphics displays on your
_ Sinclair computer? You can always use a
line drawing program and a table of coor-
dinates, but setting up the table can be
tedious. The LOGO language, developed
by the artificial intelligence group at MIT,
has a graphics system called Turtle
Graphics which might make your wish
come true.
Turtle Graphics is named for the
“turtle” robot originally used to draw the
figures. It was equipped with a pen in
addition to motors to move it. When
graphics displays became economically
and technically feasible, they were used.
Since this system offers some interesting
graphics possibilities, I decided to see how
it might be done on the Sinclair
computers. 3
Let us begin by imagining our turtle
and assign four attributes to it: an x posi-
tion, a y position, an angle (in degrees),
and a pen up or down (see Table 1). We
will guide our turtle by using five com-
mands. FORWARD n moves the turtle n
spaces forward in the direction of the
angle it is pointing. RIGHT n and LEFT
n change the direction that the turtle is
facing n degrees, but do not move it. UP
and DOWN move the “pen” into a draw
or no-draw condition.
Implementing Turtle Graphics
The first problem in implementing Tur-
tle Graphics on a Timex/Sinclair com-
puter is determining the new x and y
coordinates after a FORWARD n com-
mand. The RIGHT n and LEFT n com-
mands are easy. All that we have to do is
add or subtract the n values from the
turtle angle. The UP and DOWN com-
mands are even easier because executing
them consists of changing a flag.
Morgan Woodson, 39 Winter St., Wakefield, RI
02879.
November/December 1982
8K ROM
2K RAM
Turtle Graphics
Morgan Woodson
To figure out how to move the turtle, I
drew a right triangle with the distance to
travel forward as the hypotenuse (see
Figure 1). This requires some simple trig-
onometry (see Figure 2). The new x coor-
dinate was the old one plus the cosine of
the turtle angle times the distance to
travel. The y coordinate uses the same
formula except that the sine of the turtle
angle is used.
The next step was to write the program.
I put it in the form of a subroutine to
make it more convenient to use. The
commands are stored in a string variable
(A$) before calling the turtle routine. The
graphics commands are reduced to single
letters to simplify the string splitting part
of the subroutine (see Table 2).
Connecting the new point to the old
was initially done by means of a line
drawing subroutine from the ZX81
manual. Since the ZX81 uses radians
instead of degrees, the degrees have to be
changed to radians. At first I made the
change when the RIGHT and LEFT com-
mands were executed; however, to save
memory, I changed to program so that
the turtle angle was in degrees and not
changed to radians until the FORWARD
command was executed.
Variable
A$
B$
Table 1. List of Variables and Functions.
Function
Turtle Graphics commands and arguments.
Current command
Turtle x coordinate
Turtle y coordinate
Tokai- io imis k aE.
Turtle angle in degrees
Turtle pen condition
Loop variable and position of next command in A$
Argument for Turtle command
Turtle angle in radians
Another loop variable
Cosine of Turtle angle
Sine of Turtle angle.
Table 2. List of Commands and Functions.
Command Abbreviation
FORWARD n Fn
RIGHT n Rn
LEFT n Ln
UP n Un
DOWN n Dn
Function
Moves Turtle forward n spaces
Turns Turtle right n degrees
Turns Turtle left n degrees
Makes Turtle not draw (argument has no effect)
Makes Turtle draw (argument has no effect)
23
Then when the program worked, I
removed the line drawing routine. Instead
of moving the whole distance in one jump
and drawing a line between points, the
program moves one unit at a time and
plots each point. This produces the same
effect, but it is much shorter.
The last change requires an argument
for UP and DOWN to simplify the string
splitting routine. The argument has no
effect.
The driver routine (see Listing 1) sets
up the initial position, heading, and pen
position of the turtle, gets a command
line and executes it, then gets another
command line. To exit this routine, type
ENTER (with no command) to get an
error.
The subroutine has the following main
steps: 1) it puts the first command of the
command line into another string; 2) it
searches for the next command and puts
Figure 1. Turtle Triangle.
Turtle Angle
Old (x,y)
x distance
Adjacent side
New (x,y)
y distance
Opposite side
Figure 2. Computations.
DY Vertical distance to travel (unknown)
DX Horizontal distance to travel (unknown)
D Distance to travel (known)
A Turtle angle (known)
X Turtle X coordinate (known)
Y Turtle Y coordinate (known)
New X Turtle X coordinate after movement (unknown)
New Y
To find the horizontal distance:
Cos A= Adjacent
Hypotenuse
C A= DX
Os 5
Cos A*D=DX
To find the vertical distance:
Cia aes Opposite
Hypotenuse
Turtle Y coordinate after movement (unknown)
; ae, Db
Sin A D
Sin A*D=DY
To find the new x and y coordinates:
New X=X DX
New X=X Cos A*D
New Y=Y DY
New Y=Y Sin A*D
26
the argument into the variable “D”; 3) it
executes the command by going to the
FORWARD routine (line 600) or chang-
ing a variable; 4) the command and argu-
ment just executed are deleted and, if
there is more on the line, it is executed.
The FORWARD routine first converts
the turtle angle from degrees to radians.
Next the cosine and sine of the angle are
calculated. Originally, they were in the
loop that draws the path of the turtle.
Putting them before the loop greatly re-
duced computing time. The loop finds
the new x and y coordinates and plots
them if the “pen” is down. Lastly, the
routine jumps to the part of the turtle
subroutine that decides whether to
RETURN or continue executing turtle
commands.
Using the Program
To use the program, type both parts in.
Then hit RUN and ENTER. The screen
will be blank except for a cursor waiting
for a string. Type “F10” and ENTER.
The screen will go blank and then reap-
pear with a line from the center of the
screen toward the right edge of the
screen. This is because the turtle was
facing to the right and you instructed it to
move forward 10 spaces in that direction.
Now type “R90 F10”. This time another
line will appear, perpendicular to the first
line. The turtle has made a right turn and
has gone forward again. Now type “R90
F10 R90 F10”. A square will now appear
on the screen. This repetition of turning
and moving can produce all kinds of
polygons easily. Going right 144 degrees
and forward 10 spaces five times will
produce a five point star.
You can continue to play around with
turtle graphics using the driver program
supplied, or you can use the subroutine in
your programs to produce more complex
figures.
Listing 1. Turtle Graphics Driver.
4 REM TURTEE GRAPHICS DRIVER
2 LET P21
59 GOTO 30
—— Listing 2. Turtle Graphics Subroutine.
S500 REM TURTLE GRAPHICS SUBROUT
{EXT
S60 LET D=VAL AG(2 TO I-1}
565 IF 64="F" THEN GoTo 6ee
S67 IF B$="U" THEN LET P=@
“RS THEN LET A=R-D
THEN LET P1
THEN LET A=A+D
580 IF 6$="L"
535 LET. AS=AHStI+1 FO ?
>90 IF AS="" THEN t
S95 GOTO See
680 LET R=A25S7.296
662 LET C=C0S R
605 LET S=SIN R
63@ LET Y=¥Y+S
640 IF P THEN PLOT X,Y
i | NEXT J
668 GOTO S85
SYNC Magazine
QSAVE
THE FAST ONE
All ZX81 owners can now load/save a full 16K in only 29 seconds with the incredible QSAVE hardware/software
combination package from PSS. EARPHONE SOCKET
Just look at these features:
1. No hardware modifications are needed
2. No extra power supply is needed
3. QSAVE is compatible with your existing tape recorder
4. QSAVE includes a verify feature to ensure successful saving
5. No more wasted time waiting for programs to load or save
MOST IMPORTANT OF ALL—QSAVE IS EASY TO USE—SIMPLY PLUG THE QSAVE AMPLIFIER/FILTER UNIT
BETWEEN YOUR RECORDER AND THE ZX81 (all leads are supplied) — THEN LOAD THE QSAVE SOFTWARE
BEFORE YOU LOAD A TAPE OR KEY IN A PROGRAM. YOU CAN NOW SAVE AND RELOAD A FULL 16K IN
ONLY 29 SECONDS — ie. A DATA TRANSFER RATE OF 4000+ BAUD COMPARED WITH ONLY 250 o ON THE
STANDARD ZX81.
16K/64K VERSION — Please state version when ordering
REVOLUTIONIZE YOUR PROGRAMMING NOW FOR THE ALL INCLUSIVE PRICE OF ONLY $37.50.
M CODER
EVER WANTED TO WRITE MACHINE CODE PROGRAMS? NOW YOU CAN
THE FIRST REAL MACHINE CODE COMPILER FOR THE ZX81
SIMPLY WRITE YOUR PROGRAM IN BASIC (OR LOAD AN EXISTING PROGRAM), PRESS A KEY AND M
CODER WILL AUTOMATICALLY COMPILE IT INTO MACHINE CODE.
M CODER HANDLES 99.9% OF ALL BASIC
ONCE USED YOU’LL NEVER WRITE BASIC PROGRAMS AGAIN
GIVE ALL YOUR PROGRAMS THAT SUPER-FAST PROFESSIONAL LOOK WITH M CODER
BUY M CODER NOW AND REVOLUTIONIZE YOUR PROGRAMMING FOR THE ALL INCLUSIVE PRICE OF
ONLY £7.95
E d ; hy Send check or money order to: $ |
ver wanted to write mac ine code p S S Pòrsonal Salwars Servicos i
programs? Now you can. The First real i 482 Stoney Stanton Rd. |
machine code compiler for the ZX81 Coventry CV6 5FE U.K. |
Telephone Coventry (0203) 667556 i
Name |
i l
| Address
| |
a a T AEL E eee ee tee eee j
Now available in the US. at the
incredible orice of only $119.95 (£62.95)
ACTUAL SZE 3 x
Re
Ry St Ran, ;
THE 64K RAM PACK
@ Fully built, tested and guaranteed. The use of this memory is as follows:-
® No additional power supply required. _0— 8K _ Sinclair ROM
@ Black plastic case no larger than 16K 8 — 16K RAM that is unaffected by
RAM PACK. NEW, LOAD, SAVE and can
be used for storing machine
code routines.
16 — 32K BASIC Code, Display file,
Variables, Machine Code
32 — 64K Variables
@ No wobble problems
@® Fully compatible with printer etc.
O 16K RAM PACK at only $49.95 (£29.95)
NERE) including FREE ALIEN ATTACK (7K -M/code) — value $11.00 (£5.75)
As reviewed in ‘Your Computer’ — (March 1982) the leading
U.K. Sinclair Publication. Almost 10.000 units sold in the U.K. so far.
THE ‘NO FRILLS’ ECONO TECH 16K RAM PACK ONLY $39.95 (£20.95)
We believe the Econo Tech is the lowest priced 16K RAM available anywhere.
No frills - just a reliable and economical way to expand your ZX81.
AS VENS in ZX Computing’ August/Sept 1982, the new U.K.
ZX computer publication. Available ONLY from JRS.
pvAilh
PLEASE NOTE: All prices are fully inclusive and are applicable for export , including airmail postage. Payment may be made in AES
(Money Order available at your bank) or your own U.S. $ cheque, made payable to JRS SOFTWARE.
Despatch normally 7 days from receipt of order
19 WAYSIDE AVENUE, WORTHING, SUSSEX, ENGLAND, BN 13 3JU Telephone: (0903) 65691
Curve-plotting Graphics
Richard Booth
Curve-plotting has many applications.
For example, an oscilloscope is a curve-
plotting device which allows the user to
view time-varying voltages. This article
presents a program which allows the
Timex/Sinclair computers to be used as
curve-plotting devices. The common rep-
resentations of curves possible with this
_ program include the following: Cartesian,
Cartesian Parametric, polar, and polar
parametric. An example of a polar plot
would be the radiation pattern of an
antenna. The program requires the 8K
ROM and makes use of pixel graphics.
An Introduction to Curves
A plane curve is a two-dimensional path
or set of points. Plane curves are found in
such everyday places as the path followed
by an ant on the kitchen floor or a maga-
zine article on inflation. They can also be
found in special places such as an oscillo-
scope trace or the spirals of a sunflower.
A plane curve can be described mathe-
matically in various ways. A description
which is adquate must be useful for the
particular application at hand. For
example, if the application is target shoot-
ing, it is only necessary to know whether
a given trajectory passes through the
bull’s-eye. Since the application addressed
in this article is curve-plotting using the
ZX81, an adequate description would tell
which pixels the curve passes through.
4K ROM
1K RAM
This description will be used to construct
a display file which in turn will be used to
display the plot of the curve.
Many curves can be described most
concisely by the use of one or more
equations. The equations can then be
used to generate points of the curve. The
curve-plotting program in this article op-
erates by creating levels of descriptions
of the curve as shown in Figure 1.
A point is located with respect to some
reference system. There are no require-
ments upon the position or scale of the
reference system itself so a convenient
location and scale may be chosen. A
Cartesian reference system is an X-Y axis.
A polar reference system is a ray. In the
Cartesian reference system a point is de-
scribed by the coordinates (X,Y) of X
Figure 1. Levels of curve descriptions generated by curve-plotting program.
CART. : CART.PARA.
Cartesian Coords (X,Y)
Pixel Coords
Display File
Richard Booth, 12875 Highland Rd., Highland,
MD 20777.
November/December 1982
Polar Coords (R, ©)
~—a— User input
Sweep
—<“@— independent
variable
Polar to
Cartesian
conversion
-A Roundoff,
scaling
<eg— Plot command
Internal
monitor
subroutine
29
and Y intercepts. In a polar reference
system, a point is described by the coor-
dinates (R, © )where R is the length of
the line segment between the base of the
ray to the point and © (theta) is the angle
between the line segment and the ray.
Figure 2 shows the plot of a curve con-
taining the point
(Rp OP)
The positive X-axis of a Cartesian refer-
ence system coincides with the polar ref-
erence system. In this Cartesian reference
system the point is described by
(Xp Yi eee ee cos@,,R ,sinOp )
The curve-plotting program converts
polar coordinates to Cartesian coordi-
nates in this way to make use of the pixel
graphics.
The methods used by the program to
generate point coordinates make use of
functional equations. A functional equa-
tion is one which evaluates some variable
uniquely when the independent variable
is given. This is expressed
Vi tS)
where Vp is the dependent variable and
Vyis the independent variable.
The four approaches are best summar-
ized in tabular form. See Figure 3.
To generate point coordiates, the inde-
pendent variable is swept through a range
of values and coordinates are calculated
for values in the range.
Each type of description has its own
advantages. For example, to generate a
plot of a circle would take two sweeps of
the independent variable using the
Cartesian method, but only one sweep
using the Cartesian parametric or polar
methods.
Program Description
The program is listed in Figure 4. Lines
10-220 are used to input equations, plot-
ting window, etc. Lines 220-350 generate
the plot. Note that expressions are entered
as string variables so that no program
lines need to be changed for different
plottings.
Also note in line 340 how points are
scaled to pixel coordinates. Lines 300-330
remove points which are outside the plot-
ting window.
Line 230 provides for 200 iterations of
the FOR-NEXT loop. The number of
iterations can, of course, be changed
when necessary.
Figure 2. Cartesian and polar representations of a point.
30
Program Use
The program first prompts the user with
“CART., CART.PARA., POLAR, OR
POLAR PARA.? (1,2,3, OR 4)”. Enter
the number corresponding to the plot you
want. For example, for Cartesian plots,
enter 1. Next, a plotting window is
entered. This is the expected region which
will be covered in Cartesian space. See
Figure 5.
If CART.PARA., POLAR, or POLAR
PARA. was selected, a range must be
entered for the parameter T or for theta,
for example, an expression like PI/2. -
When entering expressions for X, Y, R
or theta, be sure to use expressions of the
appropriate independent variable: For
Cartesian plots use X; for all the others
use T. Be careful when using expressions
involving powers, since powers of nega-
tive numbers are not valid on the
ZX80/81. For example, when X is nega-
tive, use X*X instead of X**2.
Sample Curves
To illustrate the program, several inter-
esting curves may be used. Two examples
of each of the following types are given.
The reader can get further variety by
changing the constants. Many more exam-
ples of curves can be found in A Catalog
of Special Plane Curves by J. Dennis
Lawrence (Dover Publications, 1972).
—— Figure 4. Curve-plotting program listing. —_
20 PRINT “CART... CART. PARA <
POLAR * DR POr_ARR PRRR . +? { 2 = = 3 — 2
Raye S
50 INL:
10 PRINT “PLOTTING WINDOW: `
S@ PRINT INPUT XMIN.XMAX.YMI
N.YMAX*
@ INPUT &
70 INPUT E
S50 INGUT C
90 INPUT D
100 LET E=&
TIO ECET =
120 I =ł1 THERN GOTO 200
Eoee
1350 PRINT
2140 PRINT
INPUT
INPUT
17QO IF Z=% THEN GOTO 200
eee ia INPUT XxX-THETA EXPRE
INPUT AG
„200 PRINT “ INPUT Y-rR EXPESSION
INPUT EF
CLS
230 FOR T=E TO F STEP
“PRRAMETER-THETA RANS
INPUT MIN., HAX"
“ET
(F-E?) «320m
=4 THEN LET X=UR
=
260 LET Y=Ueat BE
F 2:3 THEN GOTO 300
eo GEL OY = s2S thu
300 IF *<8& THEN LET x=A
310 IF X26 THEN LET X26
wee TE <0 HEN LET YC
veo IF VW >D. THEN EET y=
S40 PLOT iX-f) 69+ B-A). O-O? #4
@-(DB-C3}
350 NEXT T
SYNC Magazine
Make Your Sinclair
Work Harder, Better...
with quality, affordable and dependable
peripherals from CAI.
The Interface
The CAI/ O Board® plugs into the
computer’s expansion port and is the
interface that lets your computer
communicate with the outside world.
There is a serial RS-232 compatible I/ O
port, 3 parallel I/ O ports used to design
circuits to control home lights, power
relays and additional ports to accept
printer, mass storage device and memory
expansion.
$7095 $4,095
19 when 6922. purchased
with CAI peripherals
purchased separately
The Printer
New! The CAI/ P40 prints the complete
library of regular and inverse alpha-numerics
and graphics in 40-column width. Three
user-addressable modes print in regular or
enhanced (double type size): List program
from memory, print text or data from
program, print screen
$ 95 complete stand alone printer. (can
139 be upgraded to use with other CAI
peripherals)
$ 1 1 Q5 requires CAI/0 Board for complete
compatibility with other CAI
peripherals
è
Mass Storage Device
CAI introduces the Stringy Floppy® for
the Sinclair or Timex Sinclair. It has the
speed of a disc drive at a fraction of the
price. Data is stored on an inexpensive
continuous loop magnetic tape cassette.
This device inputs and outputs data at an
incredible 14,000 baud- - 56 times faster
than Sinclair cassette recorder interface.
The system is designed to accommodate
two Stringy Floppy drives for even more
versatility.
$109 per drive
Requires CAI/O Board
Computer Network
Package
This package consists of ASCII
conversion program, phone modem,
connecting cable. Now you can
communicate with large main frame
computers, micro-and mini-computers and
computer networking systems (The
Source® ).
$ 95 Note: Order this package when
149 ordering your CAI/O Board.
$24% for ASCII conversion program only
Additional Peripherals
Memopak® 64K memory expansion
*159”
Programs:
H 95 M
91495 Home in
Tutorial
sop
Stocks
Fe Bio Rhythms
Why buy from CAI?
All CAI peripherals come with
complete instruction manuals, schematics
and a 30-day unconditional replacement
warranty. Each works with either the
Sinclair ZX-80, ZX-81, MicroAce and
Timex/ Sinclair 1000.
Our technicians are happy to answer
your questions before and after purchase.
Wi
$Q95 ae ei
Qs: 233 Ea a a ee ee
CAI Instruments, Inc.
P.O. Box 2032
Midland, MI 48640
i
Phone: (517) 687-7343 Office Hours: 9:00 a.m. — 4:30 p.m.
Evening Hours (Technical Information) 6:00 p.m. — 8:30 p.m.
x Orders accepted by phone or mail. For mail orders, send
check, money order, VISA or MASTERCARD numbers.
Foreign orders must be made in U.S. currency.
Quantity
ee ae
ee
Sl eS a
Shipping and Handling
4% Sales Tax (Michigan Resident Only)
TOTAL
CO Literature, enclose $1.00
SHIPPING AND HANDLING CHARGES
Within U.S. $5.00 Outside U.S. — F.O.B.
Midland, MI
MasterCard/ Visa
Exp. Date
Name
Address
Civ State
Phone No.
lp =-
1. Lissajous Patterns. (See Figure 6.)
a. General form:
X=A*SIN(N*T+D)
Y=B*SIN T
b. This example:
7. Eight Curve.
a. General forms:
THETA=ATN SIN T
R=A*COS T*SQR (1+SIN T**2)
b. This example:
A=B=1; D=0; N=.75 A=2
c. Program data: ENTER: c. Program data: ENTER:
CART.PARA. 2 POLAR PARA. 4
XMIN,XMAX,YMIN,YMAX -1,1,-1,1 XMIN,XMAX,YMIN,YMAX -2,2,-2,2
PARAMETER RANGE -20,20 PARAMETER RANGE -PI,PI
X EXPRESSION SIN (.75*T) THETA EXPRESSION ATN SIN T
Y EXPRESSION SIN T R EXPRESSION 2*COS T*SQR (1+SIN T*SIN T)
2. Astroid. (See Figure 7.) 8. Folium of Descartes.
a. General form: a. General forms:
X=4*A*(COS T)**3 THETA ATN T
Y=4*A*(SIN T)**3 R=3*A*T*SQR (1+T**2)/(1+T**3)
b. This example: b. This example:
A=.25 A=5
c. Program data: ENTER: c. Program data: ENTER:
CART.PARA. 2 POLAR PARA. 4
XMIN,XMAX,YMIN,YMAX -1,1,-1,1 XMIN,XMAX,YMIN,YMAX _ -10,10,-10,10
PARAMETER RANGE -PI,PI PARAMETER RANGE -5,5
X EXPRESSION COS T*COS T*COS T THETA EXPRESSION ATN T
Y EXPRESSION SIN T*SIN T*SIN T R EXPRESSION 15*T*SQR (1+T*T)/+T*T*T)
9. Additional Examples:
3. Limacon of Pascal. a. Polynomial (CART):
a. General form: Y=AO+A1*X+A2*XK**2+4+ A 3*
R=2*ACOS T+B X**34 + AN*K*#*N
b. This example: b. Hypotrochoid (CART. PARA. ):
A=B=1 X=N*COS T+H*COS (N*T/B)
c. Program data: ENTER: Y=N*SIN T-H*SIN (N*T/B)
POLAR | 3 c. Epitrochoid (CART.PARA. ):
XMIN,XMAX,YMIN,YMAX -.9,3,-2,2 X=N*COS T-H*COS (N*T/B)
THETA RANGE -PI,PI Y=N*COS T-H*COS (N*T/B)
R EXPRESSION 2*COS T+1 d. Archimedes’ Spiral (POLAR):
R=A*T
4. Rhodonea. (Figure 8.) e. Spirals (POLAR PARA.):
a. General form: THETA=T**M
R=A*COS (N*T) R=A*T
b. This example:
A=1; N=7
c. Program data: ENTER: Figure 3.
POLAR 3
XMIN,XMAX,YMIN,YMAX -1,1,-1,1
THETA RANGE -PI,PI
R EXPRESSION COS (7*T)
Method Independent (Coordinates Example
Variable
5. Serpentine. (Figure 9.
a. General form:
Y=X*B**2/(X**2+A**2)
n A EN CARTESIAN (X,Y) = (X,£(X)) Y=X**2 (PARABOLA)
c. Program data: ENTER: CARTESIAN (X,Y) = (£ (T)f,(T)) X=T (PARABOLA)
CART. 1 PARAMETRIC 7 Y=T**2
XMIN,XMAX,YMIN,YMAX -10,10,~ 10,10
PARAMETER RANGE POLAR THETA, or (R30) = (£(8),8) R=2*THETA (SPIRAL)
Y EXPRESSION (X*36)/(X*X +4)
POLAR 4 (R= (£,(T),£, (T) THETA=T (SPIRAL)
6. Catenary. PARAMETIC L R=2*T
a. General form:
Y=A/2*(EXP(X/A)+EXP(-X/A))
b. This example:
A=2
c. Program data: ENTER:
CART. 1
XMIN,XMAX,YMIN,YMAX_ -5,5,0,20
Y EXPRESSION EXP (X/2)+EXP (-X/2)
32
SYNC Magazine
“Touch-A- Matic ”, Power
At Your Finger Tips!
KOPAK’S TOUCH-A-MATIC'™ gives you the power to type more accurately
and much faster. It requires no wires, no soldering. Comes with complete
instructions. It’s as easy as removing adhesive backing and pressing into
position. Positioning is easy. Once in position, you are ready for touch-
À typing with ease.
Our unique vinyl-key-hold creation will guide your fingers to the correct
keys. Finally, touch-typing now possible with your Sinclair* or Micro-Ace*.
This remarkable product, as well as other KOPAK items, are now available.
Call now to order through MC/Visa or send check/M.O. to Kopak Creations,
Inc.
TM Trademark of KOPAK Creations, Inc. KOPAK CREATIONS, INC.
Sinclair* is a trademark of Sinclair* Research LTD. (212) 757-8698
MicroAce* is a trademark of MicroAce* Master Charge & Visa Accepted
$1.50 Handling Charge
Dept. SY2 448 West 55th Street, New York, NY 10019 (212) 757-8698
Figure 6. Lissajous Pattern.
Figure 5.
Y
XMAX,YMAX
=< >
= SIN(T/2)
SOSIN T
Figure 7. Asteroid.
XMIN,YMIN Y
a) Plotting window.
b) Resulting plot. :
Ta
2
z
=
Memory Expansion at
Unexpanded Prices
16K Memory Expansion
@ Simply plugs into your
Timex/ Sinclair 1000
@ Fully tested top quality products
Price only $35.00
64K Memory Expansion
@ Plugs into your Timex/ Sinclair 1000
© Fully tested top quality products
@ 56K of directly addressable memory
@ 2x 4K pages can be switched inor
out for use with mapped memory
peripherals Price only $110.00
International money order or certified cheque inclusive of Postage and Packaging payable to Namal Associates
Namal Associates 25 Gwydir Street, Cambridge, CB1 2LG ENGLAND Telephone: (0223) 355404 Telex: 817445
r mm ee ee ee å ee å åM å å å å ee ee ee
Please rush me (Quantity)...... 16K Memory Expansion@ $35.00
i Please rush me (Quantity)... .... 64K Memory Expansion@ $110.00 g
Add Postage and Packaging $4.50 | enclose $ .......cnnssessnerrrennn i
i Name Signature i
7 Address g
S N/D, ME
L E å å å å å å å åM å å å ee å å ee å åM ee å ee ee ee ‘a =
34 SYNC Magazine
Figure 8. Rhodonea.
R=COS(7#)
ADVENTURE
VOYAGER |-Voyage thru time and space in this new
fantasy game. In Voyager | you will travel to Sangrel to
find the rare element Valium for new Energy Weapons.
Voyager | includes:
One key entry of commands
Over 16 Billion Characters
2 Sides of Adventure 16k each
Graphic display of status
Over 20 Encounters to deal with
Quality C-20 Cassette
Instructions Only $9.95
You may use one of your own Characters from your
favorite Role Playing Game if you wish or you may use
one of over 16 billion Characters.
******* VOYAGER II COMING SOON*******
Saveable in progress
Explorer l-You find a strange new world when you walk
into a strange mist on your way home. This is a text
adventure and is saveable in progress. $9.95
Explorer Il-After a week back home once again you find
yourself transported to a strange new world. Text ad-
venture - Saveable in progress $9.95
Send for catalog with 1k to 16k programs. Postage is
included in price. All programs come on a Quality C-20
Computer grade Cassette with instructions.
Send to: Chris White
789 S. Green Bay Road
Lake Forest, IL. 60045
November/December 1982
Figure 9. Serpentine.
Y
9
Add Sound to
Your 2X81!
Sounder circuit fits
inside the ZX81/Timex 1000
No cutting,
soldering,
or unsoldering.
Circuit beeps when
key inputs are
accepted by the computer.
send $12.00 per unit
plus $2.00 postage
and handling
(N.J. Residents add 5% Sales Tax)
to
KML Incorporated
P.O. Box 1147
New Brunswick, N.J. 08903
The Zedex Microfair
Jim Beloff
Quick! What are three ways you can
tell you’re at a ZX Microfair in En-
gland? Give Up? Well, for one, you will
be seeing a lot of Sinclair Spectrums as
well as ZX81s; two, you find yourself
saying “ZEDEX”’ instead of ““ZEE-EX”’;
and three, there is kidney pie and ale to
be found in the exhibition hall cafeteria.
Had you been in London’s Westmin-
ster Exhibition Centre on August 21,
1982, you might have seen, said, and
tasted as I did. Sydney Rogers (Director
of Marketing for Ahl Computing), Ha-
zel Gordon (Creative Computing’s U.K.
representative), and I were at the
Microfair representing SYNC, and hap-
pily succumbed to it all.
Touted as the “largest single display
of ZX products under one roof any-
where,” this 4th ZX Microfair more
than lived up to its reputation. Orga-
nized by a rather jolly, beared Mike
Johnston, the fair offered 80 tables
worth of hardware, software,
peripherals, books, etc. for the ZX81
and Sinclair Spectrum. Enough, in fact,
to make one wish the fair were two days
long instead of one.
If there were a lot of exhibitors at the
fair, there were at least twenty times that
many Sinclair owners. By 10 a.m. the
line to get inside was two city blocks
long, and by 11 a.m. getting through the
aisles was like a game of MAZOGS (see
below).
None of this, however, could stop me
from feeling absolutely amazed at the
sheer number of products available for
this little $99 microcomputer, and how
many of those seemed to be creative
technical achievements comparable to
the Sinclair computers themselves.
Wherever someone has found a limita-
tion in the ZX81, someone else has been
bound and determined to find an
antidote.
For example, loading a 16K program
takes a few minutes. Right? Wrong! A
36
company called Personal Software Ser-
vices in Coventry has invented QSAVE,
which allows you to LOAD or SAVE
16K in 29 seconds. Making sounds and
music with your ZX81 is almost impos-
sible. Right? Wrong again! David Ward
at BI-PAK has the ZON X-81 sound
unit which can: make a multitude of
sound effects and gives eight full octaves
of tones. A company called Macronics
has an interface for a disk drive, Kayde,
Fuller Micro, and DK’Tronics have full
keyboards that the ZX81 fits inside, the
Kempston Electronics has KLIK-KEY-
BOARD that fits on the top of the mem-
brane. JRS Software has a tripped down
16K rampack for $39.95, and Sir Com-
puters has an interface card that lets
your ZX81 run a robotic arm. You can
turn your ZX81 into a business comput-
er with the Cobra 1000 business system,
and Dean Electronics has a brand new
ZX81 compatible printer. Memotech
continues to add to its growing line of
powerful MEMOPAKS and also dis-
plays its own RS-232 Interface.
If there were a lot of new hardware
add-ons to be found at the Microfair,
there were just as many new software
packages. Mr. Wolfkamp from the
Netherlands had a book/tape package
full of high level programming tech-
niques, including a graphics routine of a
bicyclist that was marvelous. BUG-
BYTE from Liverpool had a game called-
MAZOGS that drew not only a crowd,
but a very challenging maze as well.
Fair-goers also had a “blast” watching
Panda Software’s new game SEA
WARS. |
Add to all of these products for the
ZX81 another raft of goodies for the Sin-
clair Spectrum. QuickSilva had some
outstanding full color games for the |
Spectrum, SYNC’s own Martin Wren-
Hilton had a book entitled Games to
Play on Your ZX Spectrum published by
Shiva. Almost every other exhibitor with
ZX81 products had something available
or “in the works” for the Spectrum. The
combination of color, sound, and low
price have made the Spectrum the hot-
test microcomputer in England, and cer-
tainly we will be looking forward to its
coming to the U.S.
Perhaps the nicest part of the fair was
getting to know some of the exhibitors
and fair-goers themselves. In general,
enthusiasts are a fun bunch, if only for
the fact that they are, well, enthusiastic,
but Sinclair enthusiasts are special.
Somehow the feeling of “they say it can’t.
be done so let’s do it” type of ingenuity
runs rampant throughout this group.
Also, there seemed to be a lot of parents
and children in attendance, and both
groups seemed equally captivated by the
goings-on.
The fair finally wound down about 6
p.m., and the exhibitors started packing
up the televisions, the Sinclairs, the
rampacks, hardware, software, books,
etc. until the next ZX Microfair. .
Then it dawned on me: there are
something like 300,000 Sinclair Comput-
er owners in the United States, more
than in any other country. And there are
close to as many manufacturers of Sin-
clair related products in the U.S. as
there are in England. Why doesn’t some-
body organize a Sinclair Microfair for
the United States owners? How about a
show on the East coast, the Midwest,
and the West Coast? Anyone out there
up to the challenge? Well, it’s a thought,
and judging from the good time I had in
London, a fun thought at that! = = iw.
SYNC Magazine
Sinclair Hi-Res Graphics
+ 48K RAM +
8K EPROM Programmer
ZX-G Expansion Unit
Introducing Hi-Resolution Graphics
for the Sinclair ZX-81
Now you can create detailed graphics images with the new,
high quality, low cost ZX-G Expansion Unit.
Quality Graphics
The ZX-G gives your ZX-81 the ability to create memory-
mapped graphics images with a resolution of 256 X 192 pixels.
—- Graphics images can be drawn, moved, rotated, mixed
with text, saved on cassette or printed.
— Excellent for Computer Aided Design, education and
games.
Powerful Software! (cassette included)
— Generate lines, circles, and rectangles with ease!
— A dynamic graphics cursor facilitates rapid design.
— Graphics animation is fully supported!
Memory Expansion!
— With the ZX-G, you can expand the memory of your
computer to 48K!
— Up to four hi-res. graphics screens can be stored in
addition to a 16K program!
EPROM Programmer Support!
— With our optional EPROM programmer, (fully
transparent), 2716 (8K) EPROMs can be programmed,
verified and run directly in memory map (2000-3FFFH)
Compact Design!
— The total unit (including power supply) is enclosed in an
attractive vinyl-clad aluminum case.
— Cable and power cord included!
— 90 Day Warranty (parts & labor)
ZAG Expansion Uni 0... eA a N $99.95
RAM/EPROM Option ....................002.0008. $79.95
(includes 32K RAM + four 2716 EPROMs, ZX-G required)
Free Graphics Software
Mail Order to:
Southern Computer Systems
630 Main Street
Shelbyville, Kentucky 40065
or call collect: (502) 633-5640
AARDVARK — THE ADVENTURE PLACE
ADVENTURES FOR OSI, TRS-80, TRS-80 COLOR, SINCLAIR, PET, VIC-20
ADVENTURES — Adventures are a unique
form of computer game. They let you spend
30 to 70 hours exploring and conquering a
world you have never seen before. There is
little or no luck in Adventuring. The rewards
are for creative thinking, courage, and wise
gambling — not fast reflexes.
In Adventuring, the computer speaks and
listens to plain English. No prior knowledge
of computers, special controls, or games is re-
quired so everyone enjoys them—even people
who do not like computers.
Except for Quest, itself unique among Ad-
venture games, Adventures are non-graphic.
Adventures are more like a novel than a comic
book or arcade game. It is like reading a par-
ticular exciting book where you are the main
character.
All of the Adventures in this ad arein Basic.
They are full featured, fully plotted adventures
that will take a minimum of thirty hours (in
several sittings) to play.
Adventuring requires 16k on Sinclair, TRS-
80, and TRS-80 Color. They require 8k on OSI
erat on VIC-20. Sinclair requires extended
TREK ADVENTURE by Bob Retelle — This
one takes place aboard a familiar starship and
is a must for trekkies. The problem is a famil-
iar one — The ship is in a “decaying orbit”
(the Captain never could learn to park!) and
the engines are out (You would think that in
all those years, they would have learned to
build some that didn’t die once a week). Your
options are to start the engine, save the ship,
get off the ship, or die. Good Luck.
Authors note to players — | wrote this one
with a concordance in hand. It is very accurate
— and a lot of fun. It was nice to wander
around the ship instead of watching it on T.V.
CIRCLE WORLD by Bob Anderson — The
Alien culture has built a huge world in the
shape of a ring circling their sun. They left
behind some strange creatures and a lot of ad-
vanced technology. Unfortunately, the world
is headed for destruction and it is your job to
save it before it plunges into the sun!
Editors note to players — In keeping with
the large scale of Circle World, the author
wrote a very large adventure. It has a lot of
rooms and a lot of objects in them. It is a very
convoluted, very complex adventure. One of
our largest. Not available on OSI.
HAUNTED HOUSE by Bob Anderson — This
one is for the kids. The house has ghosts, gob-
lins, vampires and treasures — and problems
designed for the 8 to 13 year old. This is a
real adventure and does require some thinking
and problem solving — but only for kids.
Authors note to players— This one was fun
to write. The vocabulary and characters were
designed for younger players and lots of things
happen when they give the computer com-
mands. This one teaches logical thought, map-
Ping skills, and creativity while keeping their
interest.
DERELICT by Rodger Olsen and Bob Ander-
son — For Wealth and Glory, you have to ran-
sack a thousand year old space ship. You'll
have to learn to speak their language and
operate the machinery they left behind. The
hardest problem of all is to live through it.
Authors note to players — This adventure
is the new winner in the ‘‘Toughest Adventure
at Aardvark Sweepstakes’’. Our most difficult
problem in writing the adventure was to keep
it logical and realistic. There are no irrational
traps and sudden senseless deaths in Derelict.
This ship was designed to be perfectly safe for
its’ builders. It just happens to be deadly to
alien invaders like you.
Wt
” Fee
{ r Ei “Sy
: reat ý
d
S i —_ i ien ne i : -e 4 gr
X m > |y di :
aÀ
h N
NUCLEAR SUB by Bob Retelle — You start
at the bottom of the ocean in a wrecked Nu-
clear Sub. There is literally no way to go but
up. Save the ship, raise her, or get out of her
before she blows or start WWIII.
Editors note to players — This was actually
plotted by Rodger Olsen, Bob Retelle, and
someone you don't know — Three of the nas-
tiest minds in adventure writing. It is devious,
wicked, and kills you often. The TRS-80 Color
version has nice sound and special effects.
EARTHQUAKE by Bob Anderson and Rodger
Olsen — A second kids adventure. You are
trapped in a shopping center during an earth-
quake. There is a way out, but you need help.
To save yourself, you have to be a hero and
save others first.
Authors note to players — This one feels
good. Not only is it designed for the younger
set (see note on Haunted House), but it also
plays nicely. Instead of killing, you have to
save lives to win this one. The player must
help others first if he/she is to survive — | like
that.
Please specify system on all orders
PYRAMID by Rodger Olsen — This is one of
our toughest Adventures. Average time
through the Pyramid is 50 to 70 hours. The
old boys who built this Pyramid did not mean
for it to be ransacked by people like you.
Authors note to players — This is a very
entertaining and very tough adventure. | left
clues everywhere but came up with some in-
genous problems. This one has captivated
people so much that | get calls daily from as
far away as New Zealand and France from
bleary eyed people who are stuck in the
Pyramid and desperate for more clues.
QUEST by Bob Retelle and Rodger Olsen —
THIS IS DIFFERENT FROM ALL THE
OTHER GAMES OF ADVENTURE!!!! It is
played on a computer generated map of
Alesia. You lead a small band of adventurers
on a Mission to conquer the Citadel of Moor-
lock. You have to build an army and then arm
and feed them by combat, bargaining, explora-
tion of ruins and temples, and outright ban-
ditry. The game takes 2 to 5 hours to play
and is different each time. The TRS-80 Color
version has nice visual effects and sound. Not
available on OSI. This is the most popular
game we have ever published.
MARS by Rodger Olsen — Your ship crashed
on the Red Planet and you have to get home.
You will have to explore a Martian city, repair
your ship and deal with possibly hostile aliens
to get home again.
Authors note to players — This is highly
recommended as a first adventure. It is in no
way simple—playing time normally runs from
30 to 50 hours — but it is constructed ina
more “open” manner to let you try out ad-
venturing and get used to the game before
you hit the really tough problems.
ADVENTURE WRITING/DEATHSHIP by
Rodger Olsen — This is a data sheet showing
how we do it. It is about 14 pages of detailed
instructions how to write your own adven-
tures. It contains the entire text of Deathship.
Data sheet - $3.95. NOTE: Owners of OSI,
TRS-80, TRS-80 Color, and Vic 20 computers
can also get Deathship on tape for an addi-
tional $5.00.
PRICE AND AVAILABILITY:
All adventures are $14.95 on tape except
Earthquake and Haunted House which are
$9.95. Disk versions are available on OSI and
TRS-80 Color for $2.00 additional.
ALSO FROM AARDVARK — This is only a partial list of what we carry. We have a lot of other games (particularly for the
TRS-80 Color and OSI), business programs, blank tapes and disks and hardware. Send $1.00 for our complete catalog.
aI
pA
AARDVARK - 80
2352 S. Commerce, Walled Lake, MI 48088
(313) 669-3110
=
Phone Orders Accepted 8:00 a.m. to 4:00 p.m. EST. Mon.-Fri.
TRS-80 COLOR
SINCLAIR
OSI VIC-20
Meditations ona
Hypotrochoid
Bradley Rogers
The plotting capacity of the ZX80(81)
enables even the least artistically talent-
ed to create some pretty dazzling dis-
plays. The much denigrated sine and co-
sine functions conceal mathematical
mysteries that are invisible to mere num-
ber crunchers.
Take the hypotrochoid. It is repre-
sented by a rather formidable mathemat-
ical expression, but it makes a marvel-
lous propellor if displayed on your
Sinclair.
x = n cos t + h cos n/b t
y = n sin t - h sin n/b t
In mathematical parlance, this is a
parametric formula describing the
hypotrochóid. X and Y are the coordi-
nates of the graph which can be pro-
duced by means of the PLOT command.
“t” is a variable representing the infinite
number of angles a radius creates as it
sweeps round a circle. “t”? plays a part
because a hypotrochoid is a line formed
Bradley Rogers, 16 Hepbourne St., Toronto,
Ontario, Canada M6H 1J9.
November/December 1982
by a point fixed to a circle rolling along
the inner side of a stationary circle. “n,”
“h,” and “b” are parameters that are
uniquely defined for each size and shape
of hypotrochoid.
Although this description may seem a
bit overwhelming to those allergic to
mathematics, it translates into very sim-
ple programs. Try this:
to- LET To
26 LEF F=-Fo.2
30 LEF K=22#TO0S Flaca (42F?
4@ LEF Ye=iesSIn T-S4#S5In t42#T?
S@ PLOY X338,¥23222
60 cofa 28
This routine can be run in either
SLOW or FAST mode. Whenever you
want to stop the program and admire
your handiwork, simply press the
BREAK pedal. Beware, it takes a while
for this program to cook, especially in
the SLOW mode. Through successive it-
erations the lines are gradually filled in
to form a continuous propellor.
The hypotrochoid expresses the ele-
gant simplicity and exquisite symmetry
trapped inside many algebraic expres-
sions. Its formula also contains an infi-
8K ROM
1K RAM
nite number of bizarre, fascinating, and
sometimes whimsical figures that can be
coaxed out by mathematical mutilation.
For example, try altering lines 30, 40,
and 50 in this fashion.
=
-y
20 LET T=T+¢.2
230 LET X=22e005 T +4 COS tae?
40 LET Y=i225IN T-S#*SIN (44Ts
50 PLOT 450. X4+26
6@ GOTO 20
Surprise. The propellor has metamor-
phosed into a doll. A more intricate doll,
a dancer I think, can be formed by the
following alteration:
20 LET T=T+.ł
=12 00S T46rCOS t4ETY
28 CEt Voisesin T-S25IN (947)
S@ PLOT ¥Y+36.X +429
6@ GOTH 20
Note that in the last two examples I
have reversed the X and Y plot position
in order to rotate the display 90 degrees.
I suppose that mathematically speaking,
these figures are no longer hypotro-
choids, but they are the result of medita-
tions on a hypotrochoid. For something
completely different, try this:
10 LET T=
20 LET T=T+.2
309 LET X=62#C0S T#62t0S (424T+.5
4@ LEF Y=12+#SIN T-4#SIN (42#T)}
SØ PLOT Y+30,X+20
6a cara 2a
I call it the “angry cat.” If you are
fond of butterflies, try this galactic
variety:
1@ LEF F=e
20 LEF T=F+.-2
30 LET K=62C05S T+82t05 (GT?
4@ LEF yY=iS4StTh F-€435IM thas
Sa PLOT ¥s2G8.%228
It is quite remarkable how resiliant
this framework is. By means of seeming-
ly random alterations, interesting forms
emerge. Garbage is possible, but rela-
tively rare. Try your hand and see what
you come up with. It is a simple process
of artistic experimentation. Be careful,
however, not to choose large values for n
and h that run the figure off the screen.
If you find this interesting, I highly
recommend a book by J. Dennis Law-
rence called A Catalog of Special Plane
Curves. It is published as a durable pa-
perback by Dover (New York, 1972). In
it I discovered the hypotrochoid and its
parametric representation. If you get ex-
cited by deltoids, hippopedes, rhodonea
and nephroids, buy it. You can meditate
and discover the inner harmonies of
your computer. And, by the way, by
drawing amusing and sometimes beauti-
ful computer pictures, you may be able
to convince your sceptical spouse or not
easily impressed children that computers
are not all that bad.
As a parting gesture, I give you
““Acquatic Pegasus.”
16 LET T=8
20 LET T=T+e. 2
309 LET X=12 COS TeSelOS (3eT+2
48 LET “=iselitt T-GeltTr txt;
S@ PLOT Yt2G.X+26 a”
50 GOTO 20
39
64 K MEMORY
$129.95
New Advanced Technology
ve =
e Fits Sinclair ZX80, ZX81 and Timex - Sinclair 1000.
e First time offered - order early to avoid delays
e For orders Call Toll Free
1-800-344-8211
— Visa
— Mastercard
COMPU TECH & SOFTWARE INDUSTRIES, Inc.
A Machine Code Graphics Line
Drawing Subroutine
Daniel Kopyc
In the pages of the ZX81 manual, we
find a Basic subroutine to draw a line
between any two specified points (see
Listing 1). However, I found this routine
to be exceedingly slow, especially when I
wanted to draw several lines on the screen
and had to wait several agonizing minutes
to get them. The only solution was to
translate the Basic subroutine into Z80
machine language.
This was a fairly straightforward task
as the Basic routine did not employ any
complex mathematical functions or oper-
ations beyond ABS, SGN, subtraction and
addition. I was able to find the address of
the PLOT/UNPLOT routine in the 8K
Basic ROM through the use of Bob
Maunder’s book, The ZX81 Companion.
To plot a point on the screen, the C and
B registers of the processor are loaded
with the X and Y coordinates of the point
to be plotted, respectively, and a call is
made to the PLOT/UNPLOT routine at
address BB2h. Location 4030h (16432d),
T-ADDR in the system variables listed on
p. 173 of the ZX81 manual, controls the
color (black or white) of the plotted point,
thus making the routine at BB2h selec-
tively either PLOT or UNPLOT. A value
of 0 in T-ADDR UNPLOTS, 4Bh PLOTS.
This is demonstrated in the section of
Line Draw at address 41A0h. I also
wanted to make the Line Draw routine
very user friendly and completely usable
by the person who has either no know-
ledge of machine language at all or a
severe phobia of PEEKs and POKEs. So,
I added a short section of code to read
out the values of five control variables
from the variable storage section of the
Basic interpreter (see Listing 3, at
addresses 4082h through 40A5h).
Daniel Kopyc, Box 106, Trumansburg, NY 14886.
Listing 1 is from ZX81 BASIC Programming
(1st ed., 1980), p. 121, and is provided for use as a
subroutine in User written programs only.
November/December 1982
To enter the Line Draw program, first
type in the short Basic monitor program
in Listing 2 (including the big REM state-
ment) that we will use to enter, edit, and
review the machine code for Line Draw.
After entering the program just as it is
shown, type LIST 10 so that the REM
statement is scrolled off the screen and
will not crash the system. The monitor
that I am using here is developed out of
my experience in working with the Apple
II computer. I had found a monitor pro-
gram that was easy to use and all around
nifty. As a result I decided that the ZX81
should have that type of program, so I
wrote a version for the ZX81 in Basic.
Enter the monitor program in Listing 2
Listing 1. Line-Draw Program in Basic. __
1005 REN U SHOWS HOW MANY STEPS
Rr? REM U ~ SHOUS HOW MANY STEPS
10920 LET O1xX*=SGN U
iaaa LEF Diy=sGen U
RE iDIX,D1Y?) IS A SINGLE
STEP IN A DIAGONAL DIRECTION
i040 LET C2ax=SGN U
1050 LET D CD2Y=@
1855 REN (D2X,D2Y}2
STEP LEFF OR RIGHT
2@65@ LET M=RASS U
18978 LET N=ABS U
i880 IF MON = GOTO 11338
IS A SINGLE
1105 REM NOW (D2x pay?
LE STEP UP aR DOUN
1110 LET M=ABS U
2420 LET N=ABS U
1130 REM M IS THE LARGER OF ABS
U AND ABS Y, N IS THE SMALLER
124@ LET S=INT {M72} E
34745 REM HE WANT TO MOUE FROM {R
B) TO (c,D) IN M STEPS USING N
UP-DOUN OR RIGHT-LEFT STEPS be.
SND M-N @IAGOQNAL STEPS Bi, DISTR
IBUTED AS EVENLY AS POSSIBLE
7150 FOR I=% TO M
1170 LET _ ae
IS A SING
i260 LET A=A+D1X
1210 LET 8B=68+DiY
1215 REM A OIAGONAL STEP
Z220 GOTaQ 1250
1230 LET RA=A+C2Xx
1240 LET B=B8+C2Y
1345 REM AN UP-DOUN OR RIGHT-LEF
1250 NEXT I
1260 RETURN
ard 2. A ZX Monitor ae
8K ROM
16K RAM
and then type RUN. Every line after the
prompt symbol (=) starts with a 4-digit
hexadecimal address. The next character
(the command character) may be either a
G, meaning GOTO, or start executing
the machine language program at the
preceding address; an L, meaning LIST
the contents of eight consective memory
locations starting at the preceding
address; or a :, which deposits the fol-
lowing eight, 2-digit, hexadecimal values,
separated by one space, into consecutive
memory locations starting with the spec-
ified address. Some examples are given in
Listing 4. This monitor program will be
helpful in entering and debugging
machine language programs other than
just Line Draw, so you might want to save
a version on tape.
SS@ABCDEF 123456 7R2ARBRCCEF 1234TA
SSGRBCDEF LA2S3455 7ASBASCHCEFLRBLSS |
SIBABCOEF T23456 7SQ@RnScCeEr lessese 7
SQQOABCDEF 123456 789R8RSCCEFISSCISS |
SSGABCDEF 123456 7B8QVRRCOEF AS34255 s
SS9@ABCOEF L23455 78SBARHRCCEFT23S45=-
SSBABCCEF
1@ IF PEEK 163¢2=4 THEN OLS
300+ (OSe”
2830 FOR De =6 TO Lk
210 POKE INT (C+
(CODE A$ ic TO Dl-
1 TO O73) -28
318 PRIN
33@ FOR F=-£ TO CIP
350 LET M=INT í
S60 PRINT CURS
#16423) ;°
(M4253 °C
4i@ GOTO ic)
41
SINWARE provides these high-quality
machine-code programs for the TS 1000
or ZX87.
HOT Z
HOT Z is a machine-programming editor
with a debugger and disassembler that
help take the mystery out of assembly
language. A cursor-driven command
system provides an interactive program-
ming environment for entering, revising
and relocating code. Full-screen listings
with user labels let you understand other
programs and capture the power of
ROM routines for your own programs.
An indispensable tool for learning how
the black box works.
HOT Z loads, saves and runs your ZX
printer or Memotech port for program
documentation. HOT Z's detailed
instructions are ideal for the beginner or
part-timer.
HOT Z is available on cassette in
different versions for 16K or 32K+.
Please specify.
ZEXTRA
Z EXTRA is a display creator/
controller that makes you a master of ZX
graphics and displays. No programming
is required to create, save, print or
display multiple screens of text and
graphics.
Z EXTRA features blinking cursors,
repeating keys, four write directions,
eight plot directions, 4x4 and 8x8
character sizes, and full-screen editing
capability.
Z EXTRA's displays provide horizontal
or vertical scrolls of multiple screens
against a background screen, or timed
page flips for simple animation. Screens
can be transferred to BASIC strings to
save hours of fussy programming.
Z EXTRA turns your ZX81 into an
electronic notebook for free-form lists,
formatted data files, data displays,
moving bilboards, or just for fun.
Z EXTRA requires a ZX81 or TS1000
with at least 16K or RAM and is
especially useful with 64K. Just $19.95
on cassette.
SINWARE
BOX 323, DIXON, NM 87527
42
Listing 3. Assembly Language Line-Draw Program.
¿LOAD VARIABLES FROM
sAREA IN MEMORY AND
sOTORE IN SINGLE-BYTE
;RESERVED LOCATIONS
4982H: DD 21 3C 46 LD IX,VA
2A 19 49 LD HL, (VARS)
$6 Ø5 LD B, 95
4ØSBH: 23 INC HL
7E LD A, (HL)
D6 8¢ SUB 8¢H
23 INC HL
16 go LD DG.
4Ø92H: 5E LD E, (HL)
CB FB SET 7,E
4Ø95H: CB 23 SLA E
CB 12 RL D
3D DEC A
26 F9 JR NZ, 4095H
DD 72 £¢ LD (IX+@),D
DD 23 INC IX
4ØATH: 23 INC HL
23 INC HL
23 INC HL
23 INC HL
23 INC HL
16 E} DINZ, 408BH
3A 3C 4D LD A, (VA)
LD B,A
3A 3E 4g LD A, (VC)
LOAEH: 9¢ SUB B
32 50 L4G LD (VU),A
3A 3D 49 LD A, (VB)
LD B,A
3A 3F 49 LD A, (VD)
SUB B
32 41 4D LD (VV),A
| 3A 5D LG LD A, (VU)
4ØCØH: CD 88 41 CALL 4188H
32 44 LO LD (VD1X),A
32 46 10 LD (VD2X),A
3A 41 49 LD A, (VV)
CD 88 41 CALL 4188H
32 45 49 LD (VD1Y),A
3E BO LD A,@
32 47 4G LD (VD2Y),A
AOD7H: 3A 56 40 LD A, (VU)
CD 98 41 CALL 4198H
32 42 Lo LD (VM),A
3A 41 4G LD A, (VV)
CD 98 41 CALL 9841H
32 43 46 LD (VN),A
3A 42 46 LD A, (VM)
47 LD B,A
APEDH: 3A 43 49 LD A, (VN)
BS CP B
38 1C JR C, 41ØFH
3A 41 4D LD A, (VV)
CD 88 41 CALL 4188H
32 47 49 LD (VD2Y),A
3E Øø LD A, Øø
32 46 49 LD (VD2X),A
3A 43 40 LD A, (VN)
47 LD B,A
3A 42 1G LD A, (VM)
32 43 10 LD (VN),A
78 LD A,B
32 42 4D LD (VM),A
41ØFH: 3A 42 4¢ LD A, (VM)
CB 3F SRL A
32 48 4G LD (VS),A
3E Øø LD A, Ø%
32 49 4G LD (VI),A
3;SEE VARIABLE MAP
AT
SEND OF THIS LISTING
;LET U=C-A
3LET V=D-B
;LET DIX=SGN U
;LET D2X=SGN U
;LET DIY=SGN V
SLET D2Y=ø
;LET M=ABS U
SLET N=ABS V
;IF M>N THEN GOTO
sNUMBER 1132
;LET D2Y=SGN V
SLET D2x=¢
sLET M=ABS V
SLET N=ABS U
LINE
; (IN EFFECT, EXCHANGE M&N)
sLINE NUMBER 113¢
*LET S=(M/2)
3FOR I=¢ TO M
SYNC Magazine
411CH: ED 4B 3C 49
ED 43 36 4G
4158H:
L16@H:
416AH:
416EH:
4188H:
418DH:
4192H:
4198H:
419FH:
41AØH:
A1A9H:
November/December 1982
CD AØ 41
3A 43 49
47
3A 48 49
8g
32 48 49
3A 42 49
47
3A 48 1G
B3
38 1C
99
32 48 4D
3A 3C 4G
47
3A 44 40
8G
32 3C 4D
3A 3D 4ø
47
3A 45 LO
89
32 3D 40
18 16
3A 3C 46
47
3A 46 46
89
32 3c 4g
3A 3D 4ø
47
3A 47 1G
89
32 3D 49
3A 42 1B
47
a 49 4%
3
32 49 49
B8
DA 1C 41
C9
3A 40 40
FE Øø
28 $2
3E 4B
32 3Ø 4%
CD B2 ØB
c9
LD BC, (VA)
LD (COORDS) , BC
CALL 41A@H
LD A, (VS)
ADD A,B
LD (VS),A
LD A, (VM)
LD B,A
LD A, (VS)
CP B
JR C,4158H
SUB B
LD (VS),A
LD A, (VA)
LD B,A
LD A, (VD1X)
ADD A,B
LD (VA),A
LD A, (VB)
LD B,A
LD A, (VD1Y)
CP ØØH
BIT 7,A
JR Z,419FH
CPL
ADD A, (1H
RET
LD A, (VPL)
CP ØØH
JR Z,41A9H
LD A, 4BH
LD (403@H),A
CALL BB2H
RET
;PLOT A,B
sLET S=S+H
sIF SXM THEN GOTO 123¢
SLET S=S=M
SLET A=A+D1X
;LET B=B+D1Y
sGOTO 125¢
sLET A=A+D2X
;LET B=B+D2Y
sLINE NUMBER 125¢
sNEXT I
;RETURN TO CALLING PROGRAM
;SIGNUM (SGN) SUBROUTINE
CALL WITH ARGUMENT IN A
; REGISTER
LEAVES RESULT IN A REG.
¿ABSOLUTE VALUE (ABS) ROUTINE
;CALL SAME WAY AS SIGNUM (ABOVE)
3;PLOT ROUTINE
SEIS UP COLOR VARIABLE
sAND MAKE MONITOR CALL
s TO BB2H
Sinclair Software SourceBook
list
YOUR SOFTWARE
now for the February catalog
SELL IT—SHARE IT
You made it to fit your specific
needs and it will meet the needs of
thousands of other Sinclair users
who will
ORDER FROM YOU AT YOUR
PRICE
software category
[C] Business Applications
[_] Educational
[|] Games
[_] Industrial
[_] Home
Special Hardware if needed
designed for
[_] ZX80
[_] ZX 81/Timex Sinclair 1000
minimum of
[1k [] 32 k
02k [48k
r]16k TBk
Brief description (200 characters
a Bo eee N a E e O E y ey te A S a ET a> 6 E A A a E
oe) E a a a Oey a aaa alg ew, Seip es) Geese. a A eee See
oa Se yee, a ted er ee: jee ee! Wink yere ce ear e ost igp ier! oy py a aero
o let r te “ete. eo oe) 9 E E ue es 20 2e 6 2:0. (oe erat his a, 87 E D A
co ote. ote d wks odie ee SPV ie* © pg ee lie at. oe BF Oe fe he er ee
ORM a Pak ey ON, Get ome Dae TU ht ee JE ee’ eet ce wee WAN te Se ni aA er mee ahs aah cae Tee S
6 20g es fend ed ee ee le, oak “eo ye. > ee Ye. AA ere ew tee FS oe,
ose, xe oa. © 6 TIE 0 OF Ore, ee? ee el ae oe a es We 5 8) Wie
Available as
[C] Cassette$ —— (US)
[C] source list $ ——— (US)
Name .
PUM OSGeo ss Ui Oe ea ak ee
Street eee. oo ee Pa ee
State/Prov
Zip/Postal code =... 3 ae
[_] Listing(s)
$10 per listing .00
[ ] Purchase __ copy(s)
Sinclair Software
Sourcebook ($8 ea) .00
[C] Check or Money order
[_] Visa or Mastercharge
#
/ TOTAL Ses
Drivers Software Sourcebooks
5040 Ocatillo Rd.
Las Cruces, NM 88001
43
THE ZX81 HOME COMPUTER PACKAGE
ETCH-A-SCREEN
Easily paint pictures anywhere
within the top 17 rows. A moving
cursor travels up, down, right, left,
even diagonally, leaving behind
text, graphics, and inverse charac-
ters. Keys REPEAT while held
down. Your drawing can be stored
on tape... and immediately ap-
pears when reloaded. Perfect for
designing screen logos, or just
doodling on the screen
BILLBOARD
CHECKBOOK BALANCER
Keep a running tabulation of your
bank account. CHECKBOOK BA-
LANCER displays your current
checkbook balance, (up to
$59,999.99), your latest account
balance, and a list of up to 22
transactions which haven’t
cleared the bank. A plastic-coated
keyboard overlay defines ENTER,
VOID, CLEAR, and DISPLAY keys.
And a SAVE key stores the up-
dated program on tape.
Use BILLBOARD for messages,
displays, and exhibits. Type in a
message of up to 250 letters, and
press ENTER. A row of giant let-
ters moves smoothly across the
screen, repeating your message
until you press NEW and enter a
new message. Or, press SAVE and
store the message on tape. When
reloaded, the message begins au-
tomatically.
COMPOSER
A keyboard overlay transforms your computer into a four-octave musical instrument which broadcasts music as
the keyboard is played. Listen to the music through a radio placed beside the computer, or through an amplifier and
speakers. Or record the music directly onto tape. The last 175 notes played are stored in memory, and can be played
back or edited. EDIT keys let you change notes and single-step forward or backward through the piece. SPECIAL
EFFECTS keys are used to create unusual sound effects like laser blasts and arcade noises.
The complete ZX81 HOME COMPUTER PACKAGE, including cassette
of four programs, manual, guide cards, screen display sheet, musical
score sheet, and TWO FULL-COLOR KEYBOARD OVERLAYS, is just
$9.95. Shipping and handling included! $9.95
From: LAMO-LEM LABORATORIES, CODE209, BOX 2382, LA JOLLA, CA 92038
For the ZX81, TIMEX-SINCLAIR 1000, and 8K ROM ZX80 or MicroAce
ZX81 HOME COMPUTER PACKAGE $9.95 niece
ZX81 CLASSICS $9.95
CITY
ZX81 DISASSEMBLER
NAME
TOTAL
STATE/ZIP
Our catalog, with screen display
and coding sheets, is free!
Now that you know how to use the
monitor program, you may proceed to
type in the entire listing of Line Draw as
shown in Listing 5 using the deposit (:)
command. It may take you until midnight,
but do not despair because the results
will be well worth the time and trouble.
When you are finished, type ENTER to
exit from the monitor, and SAVE the
program at least twice, due to the some-
times unpredictability of the Sinclair
SAVE, and type in the additional test
lines as shown in Listing 6.
Now comes the moment of truth. Type
RUN 1000. If no line appears on your
screen almost immediately from the bot-
tom left-hand corner to the top right-
hand corner, or worse yet, your system
crashes, you must reLOAD from tape,
reenter the monitor by typing RUN, and
carefully recheck your coding. It is helpful
to have a friend to dictate the listing while
you look at the screen otherwise you are
constantly losing your place. If, however,
the program does work successfully, espe-
Listing 4. Example Lists, GOTOs, and Deposits for ZX Monitor.
))4082L (16514d) List out 8 consecutive memory locations
beginning with address 4082h. As shown,
location 4082h would hold the value AAh,
4083h holds BBh, etc. The list command
also displays the decimal equivalent of
the specified address, in this case 16514d.
This is useful when calling your machine
program from a Basic program using the
USR() function, i.e.,
LET L=USR(16514).
GOTO location 4082h and start exe-
cuting the machine language program
there. The GOTO command also displays
the contents of the BC register pair in the
Z80 processor, which is what is left in the
USR variable after calling from a Basic
program.
Deposit the following 2-digit hexadecimal
values separated by one space into con-
secutive memory locations beginning with
the specified address 4082h.
If we now do another LIST command,
we can examine our changes.
You are now ready to have some fun
on your own with more examples.
))}4082G (BC=0001)
))4082:22 33 44 55
))4082L (16514d)
22 33 44 55 EE FF 00 11
Listing 5. ZX Monitor Deposit Commands for Entering Line-Draw.
4082:DD 21 3C 40 2A 10 40 06
408A:05 23 7E D6 80 23 16.00 411A:49 40 ED 4R 3C 40 ED 43
4092: 5E CB FB CB 23 CB 12 3D 4122:36 40 CD Ad 41 3A 43 40
409A320 F9 DD 72 00 DD 23 23 =412A247 BA 48 40 80 32 48 40
40A2323 23 10 EA 3A 3C 40) 8 =413233A 42 40 47 3A 48 40 B8
40AA347 3A 3E 40 90 32 50 40 4134:38 1C 90 32 48 40 3A 3C
40B233A 3D 40 47 3A 3E 40 90 = 4142340 47 3A 44 40 80 32 3C
4OBA332 41 40 3A 50 40 CD 88. 4144:40 3A 3D 40 47 3A 45 40
40G2:41 32 44 40 32 46 40 BA = 4152380 32 3D 40 18 16 3A 30
40CA:41 40 CD 88 41 32 45 40 415A340 47 3A 46 40 80 32 3C
40D233E 00 32 47 40 3A 50 40
AODA:CD 98 41 32 42 40 3A 41
40E2:40 CD 98 41 32 43 40 3A
4OEA:42 40 47 3A 43 40 B8 38
A0F231C 3A 41 40 CD 88 41 32
AOFA:47 40 3E 00 32 46 40 3A
4102243 40 47 3A 42 40 32 43
A10A:40 78 32 42 40 3A 42 40
4112:CB 3F 32 48 40 3E 00 32
November/December 1982
4162:40 3A 3D 40 47 3A 47 40
416A:80 32 3D 40 3A 42 40 47
4172:3A 49 40 3C 32 49 40 B8
417AsDA 1C 41 C9
4188:FE 00 20 01 C9 FA 93 41
4190:3E 01 C9 3E FF C9
4198:CB 7F 28 03 2F C6 01 C9
41A033A 40 40 FE 00 28 02 3E
414A8:4B 32 30 40 CD B2 OB C9
IMPORTED GAME CASSETTES
ZX81 16K $14.95 EACH
“TRADER JACK” FANTASTIC FUN GAME.
BUSINESS LOGIC — SOUTH PACIFIC LOCAL.
“ZX81 MONOPOLY” UP TO 6 PLAYERS.
SPECIFY EITHER SPANISH, BRITISH OR
AMERICAN LANGUAGE VERSION.
SAVAGE SOFTWARE, PO BOX 441
TITUSVILLE, FL. 32780
The Troiano Software Company is now
offering for the ZX81 a graphics, games,
accounting, math and utility package
with 12 programs in all! Only $4.00.
Troiano Software Company
PO Box 40
Nesconset, New York 11767
CAR LOG
A new USEFUL suite of professional
programs for the ZX81(16K).
1.) Very simple to use with full instruc-
tions.
2.) Complete cassette record of mileage
and itemised expenses.
3.) All conceivable ratios, totals and
projections computed.
CAR LOG is suitable for your car, your
dad's car or your whole fleet of trucks.
Only $14.95
NIMROD SORTWARE
4 Stanley Rd.,
London, SW14 7DZ U.K.
ZX-81 SOFTWARE WRITERS
If you have useful applications for busi-
ness, education, engineering or unique
exciting games you could earn good
money. Submit programs on cassettes
or write details to:
FRESH TRACKS 27 W. Rayburn Road,
Millington, N.J. 07946. Phone A/C 201
647-0970. Prompt reply.
ZX TYPING TUTOR
e LEARN ALPHA NUMERIC KEYBOARD
e THREE SKILL LEVELS
e INSTANT FEEDBACK AND FINAL SCORE
e GET THIS HIGH PERFORMANCE 8K/16K
LISTING AT BIG SAVINGS.
e ONLY $4.95 FROM:
MICRO-TECH
1019 BRANDON LAKES AVE.
VALRICO, FLORIDA 33594
SINCLAIR ZX81 & TS1000 SOFTWARE
Fifty games for less than $2 ea.
Send SASE for FREE catalog to:
BIOCAL SOFTWARE
340 Cypress Dr.
Fairfax, Calif. 94930
SANTE FE INDUSTRIES-soon to be the biggest
name in software/hardware for the Timex/Sinclair
and Commodore Computers. Will send you (for $3.00
s & h) software/hardware information on, 16K RAM,
I/O, Rtty, CW, Satellite antenna pointing, contest log-
ging, accounting, inventory, classroom, mail list, etc.
included-over 30 1K ZX/Timex programs, ZX80 to 81
conversions, error table. SANTA FE 2342 S. Dun-
dee CT., Highland, MI. 48031
SIMPLY THE BEST!
45
cially the first time, you are eligible for
the award for BEST-TYPER-OF-THE-
YEAR. Now carefully delete each line of
the Basic monitor program (remember
never to type LIST, only LIST 10) all the
way to line 1060 starting with line 10 by
typing in the line number followed by
ENTER. Now carefully SAVE this final
version at least twice. To use this final
version of Line Draw, all you do is set
aside five variables (i.e., A-E) in your
Basic program and set them to zero with
the LET statement at the very top of your
program (i.e., line 10). Do not declare
any other variables before these five in
order that Line Draw will be able to
correctly find them. When you wish to
plot a line during the course of your
program, simply set the first two control
variables (A and B) to the X and Y coor-
dinates of the first endpoint of the desired
line, the second two variables (C and D)
to the coordinates of the second endpoint
and the fifth variable (E) to 0 if you want
to unplot the line, or to 1 to plot the line.
Super simple, super fast. Some additional
program examples to try with Line Draw
are found in Listing 7.
Listing 6. Additional Basic Lines for Testing Line Draw.
1000 LET A 0
1010 LET B: 0
1020LETC 63
1030 LETD 43
1040 LETE 1
1050 LETL USR 16514
1060 STOP
RUN 1000
(1st X coordinate)
(1st Y coordinate)
(2nd X coordinate)
(2nd Y coordinate)
(Set plot to black)
(Call machine
routine to draw
line from A,B
to C,D)
(Done)
(A line should immediately appear on the screen from 0,0 to 63,43)
Listing 7. Additional Example Programs for Line-
Draw.
ui
=j
m
J
H
in
x
TQ 43 STEP 5
“J
©
a
QO
pa
ProOOOD<MOOMDD
| NKKHAHH
LOO)
Di,
¥
i6S5i4
TO 63S STEP S
pa
W
8
Z
X
ool
“
-X
R 16514
H
nj
9
'
roOOMDK
+a
3
=
ET S
2090 NEXT X
wi Hn
1 POHOOD
‘SEE EXPLANATORY T
TS LEN AS STEP 18
$ix FO X43
|
(a)
pal
raem D DMOOMDHA
tannin ne
CXC
w+ DDDD
AO FER:
js
rm
8
i
g
D
LET
150 NEXT
x
Note: The Shape Draw program draws
a shape on the screen given endpoints of
lines that define the shape desired coded
into the text of the variable A$. For each
line to be drawn, the endpoints are
specified and PLOT/UNPLOT is selected
by the letters P or U respectively. For
example, to draw a box on the screen the
following data could be put in A$:
“00001000P 10001010P 10100010P
00100000P”. Fa
Get on the Control Bus
for only $49.95 "ip
... and be on TIME.
With our real Time Clock and Calendar
Compatible with ZX80/81
TIME MONTH DATE YEAR DAY OF WEEK
23:59:59 WERE ae +. Se
@ Leap year correction
@ 12/24 hour format
© + 30 second time correction
(hardware or software)
@ Battery back-up circuit
Comes complete with:
@ All software needed to operate clock and
Input/Output ports
@ On board 5 volt regulator.
@ Feed through Sinclair Bus connector
to allow normal expansion.
@ Each port is expandable through Multiplexing.
© /O ports and other controls mate with Radio Shack”
44 pin edge socket.
@® SO day Warranty
Accessories used with 1/0 Board:
@® Ato D and D to A converter
@ Wireless control system compatible with BSR”
modules
@ Solid state 25 amp switch modules
® 8 SPDT 5 amp relay card
Future products used with 1/0 board:
@ Touch Tone“ encoder/decoder and
other telephone products
@ Speech synthesizer
@ Sound synthesizer
i 2
8 lines departing
(outputs capable of driving relays)
8 lines arriving
(T T L compatible inputs)
MicroAce & TIMEX” 1000
All accessories can be connected together
and separately controlled from the I/O Ports
Description
YO port with real time clock (Built and tested)
PC board and manual of #310
A to D and D to A converter (Built and tested)
Bare A to D and D to A board and manual
Wireless control system (Built and tested)
Solid State™ AC switch (Built and tested)
Orders accepted by phone or mall
Relay board (Built and tested)
Clock IC and crystal (Tested)
Shipping and handling
California residents add 6% tax
For mail orders, send check or money order
Foreign orders must be in U.S. currency.
write for free catalog
vk AU
P.O. Box 3295
Escondido, CA 92025-0580
information (619) 741-5132
24 HOUR ORDER LINE ONLY
NAT. 800-227-1617
Calif. Res. 800-772-3545
(No catalog calls please)
Ask for operator 367
SOFTWARE BY
C.E.D.CORPORATION
E-Z BOOKKEEPING FOR SMALL BUSINESS (TAKES LESS
THAN %2 HOUR PER MONTH). ALSO GOOD FOR
HOUSEHOLD BUDGETING.
CHECKING ACCOUNT (MAKES CHILDS PLAY OF THIS
JOB)
BY-IT-SELF ITS GREAT BUT IT WAS DESIGNED TO WORK
WITH E-Z BOOKKEEPING
MACHINE LANGUAGE NIT-PICK (GREAT FOR LEARNING
ASSEMBLY LANGUAGE PROGRAMING)
WORD PROCESSOR (IT WAS USED TO WRITE THIS AD)
ORDER FROM C.E.D. CORPORATION
P.O. BOX 222, SALEM, WISCONSIN 53168
PRICE LIST
TAPE LIST BOTH
E-Z BOOKKEEPING $19.95 $8.95 $27.95
CHECKING ACCOUNT $9.95 $595 $14.95
ABOVE TWO ASA
PACKAGE $41.95 |
M.L. NIT-PICK $18.95
WORD PROCESSOR $18.95 $7.95 $25.95
SPECIFY ZX80-1 OR TRS 80 COLOR COMPUTER
ZX80-1'S NEED 16K RAM
TRS 80 NEEDS 16K RAM
ALL OF OUR PROGRAMS ARE MENU DRIVEN AND ALL
DATA CAN BE STORED ON TAPE AND OR SENT TO ALINE
PRINTER
WE HAVE TELEPHONE SUPPORT FOR PROBLEMS OR
QUESTIONS
CALL (414) 276-8787
We guarantee replacement of defective tapes
GET SMART!
Use Smartware software! We specialize in providing software for 'full-blown'
Timex / Sinclair personal computers. Our programs can help you realize the
full potential of your machine, for both entertaimment and applications.
NEW RELEASES:
1. James Bond Adventure #1 - A unique adventure game, in which you mst
help ‘Agent 007' make the right decisions to complete his mission. Of
course, you will travel to exotic places, fight against overwhelming
odds, and hopefully save the world.
2. ZX Yahtzee —- The classic dice game of strategy and luck, played on a
computer, For one to four players.
3. Wharri - Based on an ancient African game that was played with beans
and bowls. Now you will need concentration and cunning to outwit the
computer.
4. Mailing List / Phone Directory =- Store the address and/or telephone
mumber for up to 100 people. Search for entries in a variety of ways.
STANDARD FEATURES:
1. All programs will run on Sinclair ZX81 and Timex 1000 computers with
16K of RAM.
2. Software is shipped on certified error-free data cassettes, with each
program recorded twice on the cassette (just in case one copy gets
accidentally erased).
3. Instructions are supplied as part of each program, rather than on
separate papers which tend to get misplaced.
4. Each program is available on cassette, or in listing form (if you
really enjoy typing).
TO ORDER:
Send a check for $9.95 for each cassette, or $4.95 for each listing, to:
Smartware, P.O. Box 1491, Melbourne, Florida 32935
TS/1000 — Sinclair ZX-81
RUN- software Club
January Feature Program
REAL ESTATE ADVISOR
Whether you have one tenant or several buildings,
Real Estate Advisor can organize the information
you need to keep investments, expenses and cash
flow in control, plus calculate rate of return on
your investment. Real Estate Advisor also lets you
do budgets, projections and shows you the results
of what-if situations and calculate estimated future
rates of return. It’s a lot of program at a price you
can easily manage. (16K)
Suggested Retail $16.95 #14-10A-11
Feature Price Good Through 1/31/83 $10.95
Additional Selections
GRAPH-IT (16K) MASTERTHINK (16K)
Graph-it plots user supplied equa- Play against the computer and it
tions as variables rather than pro- will choose a 1 to 6 digit number’
gram statements (no reprogram-then tell you which digits and
ming necessary.) Three dimen-positions you guess correctly.
sional graphs also possible. lay with another person and you
Sug. Ret. $16.95 #12-4A-11 choose.
Run-it Price: $14.95 Sug. Ret. $13.95 #15-2A-11
LAB ASSISTANT (16K) Run-it Price: $11.95
converter, metric converter. ential equations.
Sug. Ret. $19.95 #11-4B-11 Sug. Ret. $12.95 #11-4A-11.
a ice: $10 $10.95
: 9 K Kor Price:
-it Pr
orner
WORD PLAY | #13-2A-11
2 games: Scramble & Cipher
Sug. Ret. $9.95 Run-it Price: $7.95 § USE THIS
COMPUTER AWARENESS | #13-8A-11 HANDY
programs including doing your own menu
Sug. Ret. $7.95 Run-it Price: $6.95 hott
ARTIST i #13-6A-11 f NOW AND
Drawing graphics for floor plans, lettering, etc.
Sug. Ret. $12.95 Run-it Price: $11.95 f START
MESSAGE CENTER #13-6B-117 RECEIVING
Combines Artist & continuous message progra OUR
HOME RECORDS #13-6C-11 CATA G
San bsy sorting records LOG.
Sug. Ret. $13.95 Run-it Price: $11.95
Check your selection(s):
Send to:
114-10A-11 (013-2A-11 Run-it Software
C 12-4A-11 © 13-8A-11
©11-4A-11 [13-68-11 Chicago, IL 60605
[1111-48-11 C113-6C-11
If paying. by check or money order, indicate amount enclosed.
UIE fas, OGG) Se
If paying by Master Card or Visa complete the following:
Card #
Bank # (MC only)
4K ROM
1K RAM
Flicker-free Four Times Normal
Character Scrolling Richard van Workum
Programming an active display with-
out the flicker and flash is one of the
challenges confronting the ZX80 user.
So far the programs published in SYNC
with flicker free display possibilities
have some limitations: 1) the program
must stay in machine language; 2) all
computing must be done during the
vertical blacking period; or 3) everything
must be timed just right. We have had
lateral scrolling for one line, but this
scrolling is not suitable for a billboard
because it is hard to read at a distance.
Another program would display a mes-
sage in characters eight times their nor-
mal size, but not enough information
can be displayed on the screen at one
time.
A Flicker Free Message Program
The program presented here is devel-
oped from several articles in SYNC. Asa
compromise between the two extremes,
it will continually scroll a flicker free
message, held in the 2 REMark state-
ment, with characters four times their
normal size.
The first 45 bytes in this program
store variables, lists, and tables that the
program will use. The program starts at
USR (16472) where it initializes the pro-
gram variables in the first 45 bytes. See
Figure 3.
The next part of the program creates a
complete display of 24 lines. This rou-
tine is based on Dr. I. S. Logan’s article
“How to Produce a Display File Using
Machine Code” in SYNC 1:2. Creating
the display file starts at 16494 (see Fig-
ure 4). The routine inserts seven
NEWLINE characters (118) making six
blank lines. Then it makes 4 full lines of
spaces to make room for the message to
be scrolled. To complete the display 14
Richard Van Workum, 920 Leslie Ln., Hanford, CA
93230.
48
more NEWLINE characters are in-
serted. At the end of this routine the
DF-EA, DF-END, and LINE
COUNTER are set so the program can
return to Basic.
The Display Routine
The display routine was based on an-
other article by Dr. Logan, “‘Auto-Dis-
play-Changing” (SYNC 1:3) although I
have made many changes. The display
changers in this Horizontal Scrolling
program are written in machine lan-
guage so this program does not have to
return to Basic. As in Dr. Logan’s pro-
gram most of the display routine is
copied from the ZX80’s 4K ROM. The
display routine for the 4K ROM is listed
in SYNC 1:3, p. 44.
The vertical blanking period starts at
IN A (C) and lasts until OUT (OFFh)
A. Just before the OUT instruction there
is a timing loop of DJNZs. I eliminated
this loop and inserted the timer-control-
ler so now this is where the Horizontal
Scrolling program does all its comput-
ing. Obviously the scrolling routines
take more time than the DJNZs; how-
ever, this does not cause any problems
with the vertical sync.
Each time the timer is decremented, a
different subroutine is called. The sub-
routines are 2 REM reader, 1st quarter
of expander, Nth quarter of expander,
32nd position list. One of these routines
is run before the display routine contin-
ues out of vertical sync and jumps back
to its beginning. If the timer has done all
the needed subroutines before it reaches
zero the program will cycle through the
expander until the timer decrements to
zero. Then it is reset to the value in
16453 and calls the display changer rou-
tine. After the changes are made, the
display routine continues out of vertical
blanking and jumps to its beginning.
Figure 2. Lists, Tables, and Variables.
16427 27 Holds character
construction
displacement
hie e a T ge E,
16428 27 Holds graphic
list displacement
for expander
CPR Py Nokes
16429 27
ae
ae
ae
a7
gtd
AA
Af. Graphic list
ey
27
at
Bi
af
ak
27
a?
14445 27
r Send position
2r list
| at
16449 27°” Holds displacement
for sand
position list
iy kgs ee ee
14450 27 | Holds address
of character
tiee REM to
be expanded
BF
16452 27 Holds timer
countdown
variable
Holds timer
constant
16453 10
16454 119 Holds first
address in
= REM message
o~
g~
164354
pb
ted
peers
d
Table of graphics
yor rano ps
16471 128
SYNC Magazine
“The Graphics Are
Incredible
“Finest Machine
Code Games
Available” t
“Brilliant...
Undoubtedly One
Of The Best”
3D MONSTER MAZE
Gamestape 4
Actual screen TS1000/ZX81
ER se ee eee ee ee ee ee ee ‘M
“IFIHAD TO CHOOSE
JUST ONE PROGRAM
TO IMPRESS AN AUDIENCE
WITH THE CAPABILITIES
OF THE T$1000/ ZX81,
THEN ‘3D MONSTER MAZE’
WOULD BE THE ONE”
al
19 sh
Orders to: Visa and M/C orders Dealer orders and queries:
MELBOURNE HOUSE SOFTWARE,INC. canbe phonedin: 800/251-5900
Dept. CS 615/361-3738 (ask for a Melbourne House operator)
347 Reedwood Drive , Nashville, TN 37217
a
E
g
Price Quantity Total g
13941 Gamestape 1: 11 Programs—1K 14.95 $
13942 Gamestape 2: 3 Games—16K 14.95 g
13943 Gamestape 3: Catacombs Adventure—16K 14.95
13944 Gamestape 4: 3D Monster Maze—16K 14.95 i
13945 Gamestape 5: 3D Orbiter—16K 14.95 a
PLUS BOOKS:
26025 NOT ONLY 30 PROGRAMS FOR THE 2X81 14.95 g
25957 MACHINE LANGUAGE PROGRAMMING MADE SIMPLE 19.95 a
25913 UNDERSTANDING YOUR ZX81 ROM 19.95
26063 ZX81 ROM DISASSEMBLY—PART A 14.95 a
26103 ZX81 ROM DISASSEMBLY—PART B 14.95
25895 COMPLETE BASIC COURSE FOR TS1000/ZX81 34.50 3
PLUS TAPES: å
26446 SPACE TREK —16K 14.95
26359 SUPER INVASION—1K 14.95 8
26318 WALL BUSTERS—1K 14.95 g
26472 10 EXCITING PROGRAMS—1K 14.95
26284 REVERSI—1K 14.95 i
26406 TOOLBOX—1K 14.95
26490 BASIC COURSE 2 cassette pack 7.50 f
Total: $ a
Residents of CA, MD, TN, please add sales taxes:
S&H: 2.00 $
Total: $ g
Enclosed is my check or money order for $ :
Please charge my Visa —— or MasterCard____ Card + expiration date ë
a Nee Z z
EES SE E N A EEE INE E A E ESR o hs Zip nf
Reviews are from
- *ZX COMPUTING
: +John Rowlands, Product Manager
k: U.Kis largest Sinclair distributor
4t Ħ°Personal Computer World
MELBOURNE
HOUSE
SOFTWARE INC.
Se ee eB rn re mr etn ermine ree
——
ke
2 REMark Reader
When this subroutine is called, the
next character from 2 REMark is in-
serted into the expander subroutine. The
2 REMark address is incremented and
its contents checked for NEWLINE
(118). See the flow chart. If it is not 118,
then the 2 REMark address is stored in
memory 16450. If it is 118, then the 2
REMark is incremented again and
checked for the higher order byte of the
line number for the next Basic instruc-
tion. This would signal the end of the
message. Since
500 LET K=USR (16472)
is the next instruction in Basic, the high
order byte is 1. If the check does not find
a 1, the address is stored in memory
16450. If the check finds a 1, the address
is initialized back to the first character
Figure 3. Initialization.
Address Decimal Mnemonic
16472 42, 70, 64 LD HL, (NN)
16475 H, 66, 64 LD (NN), HL
16478 33, 31, 65 LD HL, NN
16481 Ww, 2, 65 LD (NN), HL
16484 175 XOR A
16485 33, 61, 64 LD HL, NN
16488 6, 5 LD B, N
16490 119 (1) LD (HL), A
16491 INC HL
35
16492 16, 252 DJNZ DIS (1)
Comment
get first address in 2 REM message.
put in address of character in 2 REM to expand.
load HL with start of 2 REM reader.
load controller in timer.
load A reg. with 0
. initialize line changer displacement &
32nd position list to 0.
SALE -ZX81 EDGE
CONNECTOR $4 95
5/$23-ADD 50CEA.
INTRODUCING :
PTX-1I/O: @1r016
PORT EXPANDABLE
INPUT-OUTPUT PORT
SYSTEM. COMMANDS
IN BASIC.KEYBOARD
PORT,D/A,A/D,FREQ
UENCY GENERATOR...
USE YOURCOMPUTER
TO IT’S MAXIMUM !!!
SASE GETS DETAILS
POWERTRONIX
25 E 23 ST.BAYONNE
N.J. 07002 USA
50
THIS IS A HIGH Q
$7.49 ea + $1. handling and Postage. SEND CHECK & ORDER TO:
ZOPF INDUSTRIES 121 W. Mt. Hope, Lansing, MI. 48910
e ELIMINATES SLIDING
ACCURATE TYPING
& LOSS OF PROGRAM
CASSETTE HOLDER
16K ZX-81 SOFTWARE
FOR THE HOME:
CHECKBOOK BALANCE
ENERGY ANALYSIS
VIDEO CALC
EDUCATIONAL:
ARITHMETIC TUTOR
ALGEBRA TUTOR
. SPANISH TRANSLATOR
ENTERTAINMENT:
ANIMAL QUIZ
PLAY THE MARKET
ENCRYPTOR
EACH ON A HIGH QUALITY C-10
CASSETTE @$9.95 EACH.
SEND SASE FOR PROGRAM
DESCRIPTIONS
P & B SOFTWARE
1155 E. MALIBU DRIVE
TEMPE AZ 85282
e ELEVATES AND TILTS KEYBOARD FOR LESS FATIGUING, MORE
e PROVIDES NEEDED GRIP FOR 16K MODULE; PREVENTS GIGGLING
e NEATENS WORK AREA WITH BOTTOM CAVITY FOR MANUAL, AND A
in the 2 REMark instruction and stored
in memory 16450.
Because there are several branches in
this subroutine, timing loops have to be
inserted. The longest branch takes place
when the 2 REMark Reader is initial-
ized back to the first character address.
This branch takes 70 machine cycles.
When the 2 REMark Reader just in-
crements to the next address it only
takes 12 machine cycles. A 58 cycle loop
was inserted so these branches would
take the same amount of time. Another
28 cycle loop was inserted for when the
routine found only a NEWLINE
character. A third timing loop was in-
serted at the end to keep the whole rout-
ing synchronized with the other
subroutines. A list of machine cycles for
each instruction is found in Z80 Assem-
bly Language Programming by Lance A.
Leventhal.
The Expander Routine
The expander routine makes a list of
graphics from the characters found in
Mr. Berch has it!
2X81 Assembler
2 pass, Standard Mnemonics
Symbolic Expressions
Decimal/Hex
12K Basic & mach. code
2X81 Disassembler
Std. mnemonics, Dec/Hex output
Assembler plus disassembler
$15 ppd (cassette)
Serial Printer interface
(thru mic port) plans & listing
RS-232 ASCII output $5.00 ppd
NY res.
add 7%
Bob Berch
19 Jaques St.
Rochester, NY 14620
SYNC Magazine
PROGRAM FASTER!
Now you can write and revise program listings faster than ever
before. Never again count spaces for PRINT, PRINT AT, and
PLOT functions. ROMARK SCREEN PADS are a larger, im-
proved version of the ZX Basic Hand Book (page 89) showing
line, column, and pixel numbers. We use heavy erasable paper,
50 sheets per pad..
FIVE SCREEN PADS (250 sheets) 7:95
“LEADFOOT” SILICONE FEET 4 for $1.50
3-RING BINDER FOR 52x812
SCREEN PAD SHEETS EACH 3.50
SHIPPING AND HANDLING 2.50
Send S.A.S.E. for Screen sheet sample & join our mailing list
Graphics courtesy of Alan R. Greenleaf
ZX/TS 1000 SCREEN LAYOUT
w
EF
HHHH
+ om2z-r-
UEGereEae
ABa Se we wer
OSS a ELIIO
WGA EM AS
so) SON EG a
Use = oe <j
S3LVNIGQHOOD A 13XIid >
as
fe inl epi A eal eee er ee ee 1
LIVIES ULI JSS CUUUCSUIS SE SRSSS SS Sees ee NEEN p)
16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62
15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63
1-3 5 7 1t-4
PIXEL Y COORDINATES —>
OMARK INDUSTRIES, INC.
20412-30 CENTER RIDGE RD.
CLEVELAND, OHIO 44116
o
KEYBOARDS
IF YOU DON’T MIND DOING IT YOURSELF, YOU
CAN HAVE THE MOST FUNCTIONAL, AND EASIEST
TO USE KEYBOARD AVAILABLE FOR YOUR ZX81
OR TIMEX/SINCLAIR 1000. FEATURES 73 FULL
SIZE KEYS WITH 46 AUTOMATICALLY SHIFTED
FUNCTIONS, CONVENIENT EDITING/GAME KEYROW,
AND SPECIAL GRAPHICS SECTION.
WE WILL SUPPLY THE DOUBLE SIDED PC BOARD,
3 COLOR SILKSCREENED KEY LEGENDS, PARTS
LIST, AND COMPLETE INSTRUCTIONS FOR $30 OR
WE WILL SUPPLY THE ENTIRE KIT FOR $80.
RESEARCH APPLICATIONS PRODUCTS
4561 Paloma Lane
Yorba Linda, CA. 92686
ALLOW 4 - 6 WEEKS FOR DELIVERY. INCLUDE
$4 FOR SHIPPING AND HANDLING. CALIFORNIA
RESIDENTS ADD 6 PERCENT SALES TAX. FOR
ADDITIONAL INFORMATION SEND SASE.
ZKi
EDUCATION
ENTERTAINMENT
Personal Management
16K Software On Cassette
ZK-PARTY GAMES $9.95
Five Games for Hours of Party Fun.
Includes Charades (500 topics), Password (500 words),
Improv-Skits, Gossip, and “Radio DJ”.
PARTY GAMES FOR CONSENTING ADULTS $14.95
Contains five games designed to entertain a gathering
of close friends. Strip/Trivia, pits your knoweldge of
trivia against your clothes. In “Body Twister’ the com-
puter tells players where to place their hands, feet, etc.
on other players. Three others. Write for information.
ZK FOOTBALL $12.95
This textual version of football features 12 off. players, 8
defenses, solitaire or dual plays, auto time keeping,
individually designed teams, and full team stats (includ-
ing printer output). Plastic keyboard overlay.
ZK BASKETBALL RELAYS (AVAILABLE
NOV. 1.)
Teams include 8 individually rated players who shoot,
rebound and defend as in real life. Solitaire or two play-
ers, 1981/82 Pro (23 teams) or College Top 25. $19.95
each.
PRIMARY ASSOCIATION $9.95
A good way to introduce your three-six year old to com-
puters, while reinforcing school work. Provides drills for
matching, association, and basic comprehension.
ARITHMETIC BASEBALL $9.95
An entertaining educational program where children
and adults compete evenly while learning. Questions
range from simple counting to trig. Correct answers
result in hits according to relative difficulty.
HOME MANAGER $12.95
This menu driven program stores info on 50 families
(enough for most) on each cassette. Names, address,
phone, and four lines of miscellaneous data (up to 8
important dates). Sort on names or dates. Also includes
printer output for address labels or complete files.
WE OFFER A COMPELTE LINE FOR EDUCA-
TIONAL, GAME, HOME AND PERSONAL
MANAGEMENT PROGRAMS FOR THE 2X81
AND TIMEX 1000.
CATALOG $1.00 CREDITED TOWARD FIRST
ORDER. |
ZOR KHAN
INDUSTRIES
BOX 31567
Aurora, Colorado 80041
Full replacement warranty on all tapes. Add $1.00
postage and handling. Colorado residents add 6.5%
tax. Send check, money order, or VISA-MASTER
CARD Acct. #, Exp. Date, and Signature. No C.O.D.
Please.
Figure 4. Making the Display File.
_-_ nk ee
Address Decimal Mnemonic Comment
16494 Li; LD BC, NN load B reg. for 6 top lines.
16497 12 INC C load C reg. with newline.
16498 42, 12, 64 LD HL, (NN) get start of display file.
16501 35 (1) INC HL point to next line.
16502 113 LD (HL), C load line with newline.
16503 16, 252 DJNZ DIS (1) repeat for 6 lines.
16505 6, 4 LD B, N load B reg. for next 4 lines.
16507 197 (3) PUSH BC save B reg.
16508 65:32 LD B, N load B reg. for 32 spaces.
16510 35 (2) INC HL point to first space in next line.
16511 Sh, 12 LD (HL), N load in inverse space.
16513 16, 251 DJNZ DIS (2) repeat until line is full.
16515 35 INC HL point to newline position.
16516 193 POP BC get B reg.
16517 113 LD (HL), C load in newline.
16518 16, 243 DJNZ DIS (3) repeat for 4 lines.
16520 6, 14 LD B, N load B reg. for bottom 14 lines.
16522 35 (4) INC HL point to next line.
16523 113 LD (HL), ¢ load line with newline.
16524 16, 252 DJNZ DIS (4) repeat for 14 lines,
16526 Ww, 14, 6&4 LD hele HL tell DF-EA where field ends.
16529 Mw, 16, LD (NN), HL tell DF-END where field ends.
16532 175 XOR A load A reg. with 0.
16533 50, 37, 64 LD (NN), A load line counter with 0.
Figure 5. The First Part of the Display Routine.
Address Decimal Mnemonic Comment
16536 Got LD B, N load timing cycle with 1.
16538
to copy 4k rom from 321 to 403.
16620
the 2 REM instruction. The list of 16
graphics starts at memory address 16429
(see Figure 2). Because this routine takes
so long, it was divided into four parts.
Four graphics are listed each time the
routine is run.
The actual construction of characters
is stored in ROM starting at address
3583. To see how each character is
formed multiply the code of a character
by 8 and add 3583. Increment the an-
swer and PEEK into that address. This
will give the first byte of the character
construction. Increment and PEEK 7
more times to get the full character. See
Figure 13 below.
Figure 13. Character Construction.
PEER (38x8+3583+7) = 65 = o10000¢
PEEK (38%8+23582+8)
CODE (84) =38 Decimal Binary Bit
76543210
PEER (38*8+25683+1) = Oo = QPHÖÖÖÜÜ
PEEK (38%*8+23563+2) moh oe OOLLE L400
PEEK (38%8+3583+3) = 65 = o1000001
PEEK (38*8+3583+4) = 65 = 01000001
PEEK (38%8+35834+5) = 127 = o8f111111
PEEK (38x8+3583+6) = 65 = 01000001
Note that the binary 1’s form an A.
The expander starts by initializing the
character construction displacement and
graphic list displacement to one. Then it
takes the code of the character to be ex-
panded, multiplies it times 8, adds 3583,
52
The CRASH GUARD is made of Heavy Gauge Bronze-
Colored Acrylic. It has been designed to give you a
rugged work base. At the same time, it virtually elim-
inates crashes caused by bumping the computer or 16K
module.
To order by phone, call (816) 353-1690
“CRASH GUARD”
PROTECTS YOUR ZX81
AND 16K RAM MODULE
$19.95
Eliminates crashes caused by bumping
the 16K RAM module
Helps prevent accidental unplugging of
your 16K by small children
Now you can move your computer with-
out worry
NAME
ADDRESS
CITY
Please send me
$19.95 each
O Check Enclosed
STATE ees JAR ee
CRASH GUARDS®
Acct. No.
O Master Card
0 Visa
Exp. Date
Allow 2 weeks for delivery
EXPENSE CUTTER PRODUCTS, INC.
P.O. BOX 9543 èe RAYTOWN, MO. 64133
SYNC Magazine
thers add $10 per suk
SS ae, et SSS a SS ES
PRINTER INTERFACE
CENTRONICS STYLE PARALLEL PORT PRINTER INTERFACE
ENABLES USER TO PRINT ALPHANUMERICS: AND SELECTED
GRAPHICS SYMBOLS USING THE 8K-16K ZX-8@,2%-81, ØR THE
TIMEX 1888 WITH THE AXIOM GP-100A PRINTER.
CAlso comPatible with other Centronics Standard
Printers. >
Figure 6. Timer/Controller.
PRINTER COMMANDS AND M7L. PROGRAMS ARE STORED IN AN
8K MEMORY AREA NOT USED BY COMPUTER.PROGRAMS ALLOW
PRINTOUT OF LISTINGS, SCREEN DISPLAYS, M/L CODE, TEXT-- Address Decimal Mnemonic Comment
32 COLUMNS FOR LABELS, WIDE LETTERS, ETC., OR 63 COL-
S: lant auld ERTEN AEE: a eh 16621 58, 68, 64 LD A, (NN) get countdown from 16452.
16624 61 DEC A decrement countdown.
ROM BOARD WITH 2K ROM AND 2K CMOS RAMEE, AND WITH 16625 32, 11 JR NZ, DIS (1) jump if not zero.
COMPLETE INSTRUCT IONS-~~--~=~=--~~=~-~=—— $135 16627 58, 69, 64 LD A, (NN) get timer constant.
SPECIAL BASIC PROGRAMS CAN BE STORED IN 2K CMOS RAM 16630 50, 68, 64 LD (NN), A reset countdown.
Ef SNS TAT RECALL: 16633 205, 254, 65 CALL NN call line changer.
16636 24, JR DIS jump to second part of display routine.
Ea PoE ee Cae rip 16638 50, 68, 64 (1) LD (NN), A load decremented value into countdown.
16641 2050; 0 CALL NN call subroutine that was loaded from
previous subroutine.
I-O BOARD
PROGRAMMABLE 8255 PIO BOARD FOR MICROACE, ZX-80.ZXx-81
OR TIMEX 1888 <8K-16K> CAN BE USED WITH ONE INPUT PORT
AND TWO OUTPUT PORTS.OR THREE OUTPUT PORTS. EACH LINE
CAN BE TURNED ON OR OFF ON ONE OUTPUT PORT.
Figure 7. The Second Part of the Display Routine.
FOUR OUTPUT LINES PROGRAMMABLE WITH 1US. PULSES.
RESET LINE BROUGHT OUT ON I/O BOARD. Address Decimal Mnemonic Comment
OTREENTRA $5 VOLT POWER MAY BE REQUIREDS 16644
to copy 4k rom from 406 to 426.
170 BOARD WITH PROGRAMS AND INSTRUCTIONS----- $45 16664
16665 2055 173;. 2 CALL NN call show.
16668 195, 152, 64 JP NN jump to first part of display.
PROFESSIONAL ELECTRONICS
109 CHESNEY LANE COLUMBIAL.S.C. 29289
————SSFS SSS SS ee CC#&Figurre 9. Expander, Part A (1st quarter).
Address Decimal Mnemonic Comment
16725 5 Oe aa LD HL, NN initialize graphic list displacement & 38
16728 Ww, 43, 64 LD (NN), HL character construction displacement to 1.] cycles
16731 24, 5 JR DIS (1) jump over 38 clock cycle timer.
ee a eo Pipare 10: Expander Part BION quarter ooa a a Seay
Address Decimal Mnemonic Comment
16733 62 ' ) LD B; N load timer. 38
16735 200 2) RETZ run timer. |cycles
ie 16, 253 DJNZ DIS (2)
73 237, 75
A SOFTWARE 43, 64 (1) LD BC, (NN) get character construction dis. into C reg.
16742 6, 0 LD B, N set B reg. to 0.
ALTERNATIVE TO 16744 33, 0 Q LD HL, NN load HL with code of character to expand.
HARDWARE MONITORS ae a ADD HL, HL multiply times 8.
167 ji ADD HL, HL
16749 41 ADD HL, HL
‘ 16750 Lye 1 LD DE, NN load DE with start of character const. list, 3583.
A Machine Code Program ies z gee ADD HL, DE point to first byte in list.
designed to VERIFY that the ieee E iis Aun i fee
, \ clear Un.
Program you thought you 16752 78" LD C, (HL) load C reg. with first byte.
saved is reloadable without 16759 35 INC i point to second byte. AD
i 16760 70 LD B, (HL load B rez. with second byte.
having to clear the memory by 16761 62, 128 LD A, N load A to check bit 7.
reloading EITHER embed 16763 87 (x) LD D, A save in D reg.
i i 16764 161 AND C check bit n of first byte.
VERIFY TESEN 16765 40, 6 JR Z, DIS (3) if no graphic table dis. then jump to timer.
programs UR use as a 16767 62, 1 LD A, N load A with a displacement of 1.
programming aid 16769 131 ADD A, E total displacement.
16770 95 LD E, A save total in E reg.
DOCUMENTATION INCLUDES pie ee 6 G) JR DIS (4) jump over timer.
j i 773 oy d LD A, N
2 Full instructions for 16775 61 DEC A 22 cycle timer.
implementation ee 0 g NOP
icti 16777 6 At: JR NZ, DIS
x Program listing $3.00 16779 122 (4) LD A, D load A to check bit n.
e Cassette $5.00 16780 160 check bit n of second byte.
& | 16781 ho, 6 if no graphic table dis. then jump to timer.
16k required 16783 G2, 2 load A with a displacement of 2.
WI residents add sales tax 16785 131 total displacemert.
16726 95 save total in = reg.
SPACE BREAKER lis 24, 6 jump over timer.
16729 62, 1
P.O. Box 8104 16791 61 22 cycle timer.
Green Bay, WI 16792 0
54308 16793 32, 254 JR NZ,
16795 122 (6) LD A, D load A for ckecking bit n.
54 SYNC Magazine
od
Now Sinclair computer owners can
have real personal security for
communications,information,data,
with the advanced capability of
CYPHER
MMenu-driven, touch-controlled,
encode/decode/change/ scramble/
unscramble/save message/saveall
(16K)
Mconvenient operation requires
no knowledge of programming, or
previous experience with codes
Have the security of unbreakable
codes** with CYPHER from ROBILL
Send $39.95 check or money Order
to ROBILL PRODUCTS 555 Park Ave-
nue,Paterson,NJ 07504 NJresadd5%
EENE trial decoding requires >10 90 years /code ;>10290 codes
Conditions of key number protection prevent security guarantee
Also see our advertisement for MX-PAC in this issue
SERIOUS PROGRAMMERS
“MUST-HAVE” UTILITIES
For ZX-81 and T/S 1000 Computers
= READ/WRITE Cassette Data Files
: Fast @ Flexible ® Error checking
($10) Works in 2K RAM
a SAVE/MERGE/ERASE BASIC
($15) Powerful editing tool
Merge BASIC programs
Save BASIC program on data file
Erase blocks of BASIC
Use in 16-64K RAM
(Includes read/write data files)
Simple user interface via USR function
Well—documented user manuals
Available on tape cassette in
relocatable machine language
SASE for Info Check or MO delivers now
re
7s
Sirus Ware
6 Turning Mill Road
Lexington, MA 02173
ZX-80 8K ROM USERS
16796 203, 15 RRC A load A to check bit n-1.
16798 R7 LD DAA save in D reg.
16799 161 AND C check bit n-1 of first byte.
16800 40, 6 IRZ DIS: (7) if no graphic table dis. then jump to timer.
16802 62, 4 LD A, load A with a displacement of 4,
16804 131 ADD A, E total displacement.
16805 95 LD E, A save total in E reg.
16806 24, 6 JR DIS (8 jump over timer.
16808 62, 1 (7) LD A, N
16810 61 DEC A 22 cycle timer.
16811 0 NOP
16812 32, 254 JRZ DIS
16814 122 (8) LDA, D load A to check bit n-4.
16815 160 AND B check bit n-1 of second byte.
16816 40, 6 JR Z, DIS (9) if no graphic table cis. then jump to tirer.
16818 62,8 LD A, N load A with a displacement of 2.
16820 131 ADD A, E total displacement.
16821 95 LD E, A save total in E reg.
16822 2h, 6 JR DIS (10 jump over timer.
16824 62, 1 (9) LD A, N
16826 61 DEC A 22 cycle timer.
16827 0 NOP
16828 32, 254 JR Z, DIS
16830 122 (10) LD A,’ D save D reg. in A reg.
16831 22,20 LD D, N set D reg. to 0.
16833 93°72; OF LD HL, NN point to start of table.
16836 25 ADD HL, DE add displacement.
16837 ol LD E, (HL) load graphic code into E reg.
16838 87 LD D, A restore D reg.
16839 58, 44, 64 LD A, (NN) get graphic list dis.
16842 50,211, 65. LDANN), A put dis, into (IX+d).
16845 221 33,
» 64 LD IX, NN load IX reg. with start of graphic list -1.
16849 224.8 415, 0) ED-Cux4d), load graphic list with graphic code.
16852 60 INC A increment displacement.
16853 50, 44, 64 LD (NN), A save new displacement.
16856 30, 0 LD E, N set table displacement counter to 0.
16858 122 LD A, D get bit checker.
16859 203, 15 RRC A rotate for next bit.
16861 48, 156 JR NC, DIS (X) if all bits have not been checked then do again.
16863 58, 43, 64 LD A, (XX) eet character construction displacement.
16866 60 INC A increment dis.
16867 60 INC A increment dis.
16868 50, 43, 64 LD (NN), A save new dis.
16871 254, 9 CP N check if all bytes of character have been used.
16873 a 6 JR Z, DIS (11) if yes jump to run expander again.
16875 NOP use 4 clock cycles.
16876 33, 93, -65 LD HL, NN load HL with part B of expander.
16879 » 5 JR DIS (12) jump to load caller.
16881 zy 85, 65 (f)LD HL, N! load HL with part A of expander.
16884 0 JR DIS (12) use 12 clock cycles.
16886 a, 2, 65 (2 LD (NN), HL load caller.
16889 100 LD B, N load time delay loop.
16891 te. 254 (13) DINZ DIS (13) run delay loop.
16893 201 RET return to caller.
. Figure 11. Display Changer.
Address Decimal Mnemonic Comment
16894 221; 335.60, 64 LD IX, NN point to start of 32nd position list -1.
16898 42, 12, 64 LD HL, (NN) point to start of display file.
16901 1780 LD DE, NN load displacement for display file.
16904 25 ADD HL, DE point to first character in 7th line.
16905 62, 4 LD A, N set A for 4 lines.
16907 eL (1) LD D, H load DE with HL for LDIR instruction's
16908 93 LD E, L destination
16909 25 INC HL load HL for LDIR instruction's source.
16910 TRE LD BC, NN Toad BCifor:list of 31.
16913 237, 176 LDIR rotate line.
16915 50, 24, 66 LD (NN), A load displacement in (IX+d).
16918 201, 1265-0 LD A, (IX+d) get graphic for 32nd position.
16921 18 LD (DE), A load 32nd position.
16922 58, 24, 66 LD A, (NN) get back displacement/line count.
16925 61 DEC A decrement line count.
16926 LO, 3 JR Z, DIS (2) if O then all 4 lines have been rotated.
16928 35 INC HL point to first position of next line.
16929 24, 232 JR DIS (1) go rotate next line.
16931 33, 42, 66 (2) LD HL, NN load HL with start of 32nd position list
routine.
16934 M 2, 65 LD (NN), HL load controller to ake new list.
16937 201 RET return to caller.
November/December 1982
Completely expand your ZX-80 with
8K Rom to a ZX-81 with full use of Fast
and Slow. Smooth flicker free per-
formance!
Complete Kit: $32.50 & $2.50 postage &
handling; PCB only $19.95 & $1.25
p&h; Parts Kit Only $1 2.55 & $1.25 p&h.
The Expandable ZX-80 and ZX-81
A book of hardware projects that you
can build yourself, from memory ex-
pansion to speech synthesis. Only
$9.95 & $1.25 p&h.
Program writers: We publish software
and complete books. Write for details.
COMPUTER ENGINEERING SERVICES
The Jarrett Company
P.O. BOX 1222
SHOW LOW, ARIZONA 85901
(Dealers Inquiries Invited)
55
Figure 8. 2 REMark Reader.
Address Decimal Mnemonic Comment
16671 42, 66, 64 LD HL, (NN) get adderss of character to expand.
16674 126 LD A, (HL) load character into A reg.
16675 50, 105, 65 LD (NN), A load character into expander. (16745).
16678 35 INC HL point to next character.
16679 78 LD C, (HL) load character into c reg.
eee a 117 LD A, N F load a reg. with newline. Glock Cycles Required If:
1 2 0 INC A 2 REM read-
16683 185 CP Cc check next character for newline. er is reset |1 pata
16684 32,42 JR NZ, DIS (1) jump to timing loop if not zero. 9
16686 35 INC’ HL point to next character, é
16687 78 LD C, (HL) load character into c reg. 7
16688 62rd LD A, N load a reg. with high order byte of next 7
Basic instruction.
16690 185 CP C check for end of message. 4
16691 32, 14 JR NZ, DIS (2) jump to timing loop if not zero. 7
16693 42, 70, 64 LD HL, (NN) get address of first character in 2 REM. 20
16696 24, 13 JR-DIS:.¢3 jump to reset 2 REM reader, 12
16698 62, 2 (OIDA, N
16700 0 NOP
16701 0 (4) NOP 58 clock cycle timing loop.
16702 61 DEC A
16703 32, 252 JR NZ, DIS (4)
16705 24, 4 JR DIS (3)
16707 172 2) ID B, N 28 clock cycle timing loop.
16709 16, 254 6 DJNZ DIS (5)
16711 3, 66, 6% (3) LD (NN), HL load address of next character to expand. 70 7 7
16714 39,854.65 LD HL, NN load HL with start of expander. ?
16717 , 2, 65 LD (NN), HL load controller with start of expander. Totals for sach Dranch have
16720 » 192 Dg load time delay loop. 3 to be approximately the
16722 16, 254 (6) DINZ DIS (6) run delay loop. same
16724 201 return to caller.
and adds the character construction
displacement. It then gets the first and
second byte that forms the character and
checks bit 7 of the first byte for a 1 by
ANDing the byte with 128d, or
10000000b, and comparing the result
with 128d. If there is a 1, a displacement
counter for the graphics table is loaded
with a displacement of one. Then the
program ANDs the second byte with
128d to check bit 7 for 1. If a 1 is found,
a displacement of 2 is added to the table
displacement counter. Then bit 6 of the
first byte is checked by ANDing with
64d or 1000000b and comparing the re-
sult with 64d. Ifa 1 is found, 4 is added
to the displacement counter. Then bit 6
of the second byte is checked. If a 1 is
M.C. LOTHLORIEN
A FANTASTIC RANGE OF 16K WARGAMES FOR THE
EACH COMPLETE WITH COMPREHENSIVE INSTRUCTIONS.
SPECIAL CHRISTMAS OFFERS SAVE UP TO $20!
Separate games $14 (each); Buy 3 for $35, or all 5 for a fantastic $50
1. TYRANT OF ATHENS.
Can you survive long enough to turn Athens into the most feared state in the Mediterranean?
Train troops, build warships, fight battles by land and sea against hostile Greek States and the vast Persian Empire. Many
more features in this very addictive game.
2. ROMAN EMPIRE.
Your aim is to conquer the hostile countries surrounding Rome. Build armies, appoint Generals and
fight campaigns. This challenging game takes full account of morale, fighting efficiencies, leadership ability, etc. 3 levels of
play. Playing time 2 hours - 2 days!
3. PELOPONNESIAN WAR.
Set in Ancient Greece from 431-404 BC, covering the Great War between Athens and
Sparta. Your goal is a final victory over the Spartans but you will need all your skill in a combination of diplomacy and military
force before you even stand a chance. 3 levels of play.
4. SAMURAI WARRIOR.
How could you have fared as a Samurai in the 13th Century Japan? Face challenges from other
Samurai and bandits. Are you a survivor? Or will you be forced to commit ritual suicide? 7 levels of play.
5. WARLORD.
A challenging game of analytical skill. You are a warlord in 13th Century Japan. You have to defeat attacks
by other warlords and pirates, capture slaves and clothe and feed your troops. A companion game to Samurai Warrior.
ALL PRICES INCLUDE FULL POST AND PACKING.
CHEQUES OR INTERNATIONAL MONEY ORDERS PLEASE, PAYABLE TO
M.C. LOTHLORIEN, 4 Granby Road, Cheadle Hulm, Cheshire, SK8 6LS U.K.
ZX81
56 SYNC Magazine
SOFTWARE
ZX81 - TS1000
HARDWARE
DR. FLOYD S 95 SIN16
Psychoanalysis by computer? - well, not
quite but Dr. Floyd will carry on a conver- | 45 16K RAM
sation with you using psychoanalytic tech-
niques giving the appearance of artificial
intelligence. Requires 16K RAM. $10.95
GRAPHICS PAC |
An introduction to Sinclair graphics-
includes: 2 random picture drawers, allow
creation of “Pop” art. A screen formatter
§ which allows placing any character
anywhere on the screen. Complex pic-
tures may be created & saved. Doodler
allows line art drawings to be created &
saved. Requires 16K. $10.95
WORD PLAY
Includes: “Jargon” - a jargon word
generator. “Animal” - a fun game where ~
the player teaches the computer all about
animals. “Story” - the computer writes
stories using the players input names,
places, etc. Can be very funny for kids.
“Haiku” - the computer composes HAIKU
like poetry. Requires 16K. $10.95
SNAKES ALIVE
A group of arcade type snake games. You
must evade, box in, capture or destroy.
Fast moving and a lot of fun. Requires
16K. $12.95
This RAM plug-in allows the user to run
virtually all programs written for the ZX81
or TS1000. Completely assembled &
tested. The reliable one.
SUPER SIN64
$f so” 64K RAM
This is the maximum directly address-
able RAM that your ZX81 or TS1000 can
use - Memory is used as follows: 0-8K
Sinclair operating ROM. 8-16K switches in
or out of use. Used for assembly
language routines, memory mapped
peripherals. Contents are safe from NEW
and cassette (disc) loads thus allowing
program-to-program communications.
16-32K BASIC and assembly language
user program area. 32-64K large data
arrays & BASIC variables.
All hardware is completely compatable
with Sinclair add-on products. Both
RAMS use the most reliable gold plated,
bifurcated contact connector on the
market.
10 day return privilege on all hardware-90
day parts and labor warranty-inexpensive
extended service contract is available-
WE SERVICE WHAT WE SELL.
350 N. Lantana Ave., Suite 821 e Camarillo, CA 93010
TO ORDER:
Send Check or Money Order
For the total plus:
$3.00 shipping (Software)
or $4.00 shipping (Hardware)
Calif. residents add 6% tax.
Phone orders: CALL
805/ 482-3604
All software is on high quality cassettes For credit card orders, include all
and is replacement guaranteed. information on card.
PROPOS TECHNOLOG
GENERAL SYSTEMS CONSULTING
2312 Rolling Rock Drive
Conley, Georgia 30027
SINCLAIR ZX81 and
TIMEX SINCLAIR 1000 SOFTWARE
16K minimum configuration
Designed to help monitor your finances.
1- AmornzalonS Fas nice fo OKA Ch ra, ORR Na 9.95
Da CARR es iow Fd eke De Oe LAE 9.95
PLANET FINDER FOR THE 16K TS-1000/ZX-81 Bo Agmuiy Evaluation ii ie. ss A hess wes eas fees 9.95
Pe RRS si ca ee cd bee eden ook 9.95
MERCURY, VENUS, MARS, JUPITER and
SATURN Se ' 5. Bank Statement Balancer ................2.00008- 9.95
are all visible to the naked eye. The ancients 6 Checkbook. ounulator soa a. cA es 9.95
recognized that their special quality is that they move against 7. Depreciation Straight Line. ...............000 ec ee. 9.95
the background of “fixed” stars. Predicting their movements 8. Depreciation Declining Balance ................... 9.95
has been the preoccupation of geniuses for thousands of 9. Depreciation (ACRS) .........--- 6s eee eee eee eens 9.95
years. Now these movements are well understood, buy only by 10. ee ae PRA PP ee OA ASCE 2 RETR SS FS Aah ARPES eae
a few dedicated observers. Ephemeris V is designed for these bebe Sian atte alo eter. Oh cs aie eee meee ee 99
| Toth d A EZ Home INVEntory sis A A oS a a aE 9.95
people and others (ages 12 and up) who wish to join them in i Mome Pe a ao ee! 9.95
this pursuit of basic knowledge. 16K reqd. l4. Home Equity Evaluation ...............00000 0c eee 9.95
ENTER: date, time, lat. and long. (Lat. and long. can be 15. Real Estate Investing ...... eee nee 9.95
perm.) Then choose a planet. In seconds Ephemeris V 6. Savings/Investments Analysis .................05. 9.95
responds with: 7 ARS 10O (Cong Form) ia 3s tig A eraa aes 9.95
1. Agi th d Altitud iB IRS 1040A (Short Form). 2 h oa En a a e 9.95
ee ae pure 19. Income Tax Projections 0220.0 cos ie in Sao ee ee 9.95
2. Right Ascension and Declination (for astronomers)
3. Simple compass coordinates (for beginners)
4. GRAPHIC DISPLAY of planet in current
constellation
5. LOCAL sidereal (star) time to aid in finding stars,
comets, nebulas, etc.
Own or give this incredible program and reap the harvest of real
understanding forever! Comes on quality cassette with docu-
mentation. Send a money order or check for $8.00 ppd. to:
EPHEMERIS V, P.O. BOX 261, Winchester, KY 40391.
Circle selections and fill out form below: — 00
2 yo ec ee
eE 1 A S16 1 A
Number of items selected @:9:95 25 A
Postage/Handling 1.50.....
NAME
ADDRESS
CITY/STATE/ZIP
MUSICIANS!
Music theory & ear training program cassettes for
TIMEX/SINCLAIR Computers (minimum 2K RAM).
$5.95 for sample or send SASE for catalog of programs. a a ana dela bacon
EVANSI Dani M Address Decimal Mnemonic Comment .
- Vept.
1246 Elmwood aie 16938 17, 64, 64 LD DE, NN point to bottom of 32nd position list.
2 e 16944 221, 33, 45, 64 LD IX, NN point to top of graphic list.
vanston, IL 60202 16945 58, 65, 64 LD A, (NN) get displacement for 32nd position list.
16948 6, 4 LD B, N set B reg. for 4 graphics.
169 79 AETS (1) LD a $ save displacement in oe
16951 150700 LD (NN), A load displacement in (IX+d).
*** for TIMEX/SINCLAIR computers *** 16954 221, 126, 0 LD A, (Tra) get graphio ‘fron avec TOE.
LOST IN SPACE (uses SLOW) 16957 18 LD (DB), A load in 32nd position list.
UNIVERSAL INVENTORY FILE a ae sett ie porat nd Dea op dee gh
UNIVERSAL MAILING LIST ok tosh soe eee i ee
, ,
UNIVERSAL COIN COLLECTION................ 10.95 16962 16, 242 DJNZ DIS (1) go do next graphic.
UNIVERSAL STAMP COLLECTION 16964 58, 65, 64 LD A, (NN) get displacement for 32nd position list.
16967 254, 3 CP N check if 16 graphics have been used.
16969 40, 10 JR Z, DIS (2) if yes then initialize.
16971 0 NOP use 4 clock cycles.
16972 60 INC A increment displacement.
Each program on cassette + manual. (8K 16973 50, 65, 64 LD (NN), A store displacement.
ROM, 16K RAM). Please add $1.50 for ship- 16976 935185; 65 ID HL, NN load HL with start of part A of expander.
ping and handling. N.J. residents add 5% tax. 16979 24, 9 JR DIS (3) jump to load controller.
M.C. HOFFMAN CO 16981 175 (2) ae ) load A reg. to initialize displacement.
vir : 16982 50, 65, 64 LD (NN), A store displacement.
P.O. BOX 117, OAKLAND, N.J. 07436 16985 33, 31, 65 LD HL, NN load HL with start of 2 REM reader.
16988 24, 0 JR DIS (3) use 12 clock cycles.
16990 Ww, 2, 65 (3) LD (NN), HL load controller.
oe ` 190 (i) LD 8, N load time delay
16995 16, 254 4) DINZ DIS (4) run time delay.
_ HOME CLOCK FAMILY BULLETINS 16997 RET return te Salton:
TIMEX SINCLAIR 1000/SINCLAIR ZX81 16K-
Continuously running clock calendar and family
bulletins. User friendly allowing selection of over
12 functions. Menu driven, large clock digits, set
date/time/alarm, update bulletins, fully doc. Send
$20 for program or SASE for brochure to:
KING SOFTWARE
85 Myrtle St., Lowell, MA 01850
COMPUTER / VIDEO GAME
REPAIR
AID ELECTRONICS
9711S. Petersham Dr.
Houston, Tx. 77031
16-32-48K expanda RAM
$45-65-85 fits inside
(outside add $8) list with a SASE
Dancer
9850 Metro Parkway West, suite 100
Phoenix AZ 85021
For ZX81&TSIOOO 16K cornice.
NEW DOMINO Game S226
challenging and exciting
m Other New Games Available
; send SASE for FREE S
95 PHOTOLAB Ss
eS pow 21124
Kennedy SpaceCenter, FL. 32815
Need a good game to ae to play or pro-
gram? Circle Chess board with in-
structions $5.00. Send your record-
ed Circle Chess games and pro-
foals for publication in Circle
hess Journal, Box 63, Des
Plaines, IL 6001 $.
found, 8 is added to the table displace-
ment counter. If 1 is in all four bits, the
table displacement counter contains 1 +
2 + 4 + 8 = 15. The table starts at
16456 so 16456 + 15 = 16471 (see Fig-
ure 2). This address contains 128d or the
CODE for inverse space. This graphic
represents the four bits in the first two
bytes of the character being expanded.
The expander loops until all the bits are
checked and four graphics are listed.
The remaining bytes are decoded during
the next three times the expander is run.
Now it is time to get ready to display
again. The character construction
displacement and graphic list displace-
ment are saved and the controller is set
so the routine will not initialize until af-
ter the expander computes the graphics
for the six remaining bytes.
This expander routine contains timing
loops as in the 2 REMark reader. There
is one that is just as long as the initializa-
tion so that the last three runs are times
as long as the first run. There are loops
so that finding a O takes just as long as
finding a 1. If these loops were not in-
cluded, each character being expanded
would take a different amount of time to
decode. Finally, there is a loop at the
end to keep this routine synchronized
with the other routines.
The Display Changer
All the other routines are prelimi-
naries that take place during several
vertical blanking periods. The display
for the Horizontal Scrolling program
has to be changed during one vertical
blanking period to get a complete
display.
The display changer rotates the
character in line 7 one space to the left
with the Z80 LDIR instruction. The
first character before rotation is elimi-
nated. After rotation, the 32 position is
filled with a graphic character from the
“32nd Position List? which starts at
16445 (see Figure 12). The routine loops
until the next three lines are rotated and
their 32nd positions filled with their
graphics. Next the controller is set to the
routine that computes a new list of
graphics for the 32nd positions.
There are no timing loops because this
subroutine takes a longer time to run
than any other subroutine. The display
changer takes just as long to run each
time it is run. :
The 32nd Position List Routine
This part of the program (see Figure
12) was written to make the display
changer run more efficiently since it
takes the longest time to run. The graph-
ics in the 16 graphic expander list are
not in order to fill. the 32nd line po-
sitions so another list of four graphics is
made.
After a new character from 2 REM 1s
expanded, the Ist, 5th, 9th, and 13th
graphics are listed in the 32nd position
list? A displacement for the expander list
is incremented and stored in memory
16449 (see Figure 2). The controller is
set for the expander and after another
timing loop, the program goes back to
finish the display cycle. The program
will cycle through the expander and dis-
play until the timer runs to zero and the
display changer uses the graphics in the
32nd position list. The controller is then
SYNC Magazine
set for the 32nd position list routine.
After displaying again, the controller
runs this subroutine again. The displace-
ment is taken from 16449 so that the
2nd, 6th, 10th, 14th graphics are listed.
The cycle repeats until all 16 graphics
are used. Then the displacement is reset
and the controller is set to run the 2
REM reader to get a new character.
Loading the Program
Since the loading for this program was
designed for 1K RAM, the procedure
was broken up into several parts. This
makes loading somewhat difficult. So
following the directions carefully is
essential.
Constructing the 1 REM Statement
Make a 1 REMark statement that is
exactly 6 lines long as shown.
1 REM own wc ee
a WE a On a E o SE OO Sn AT SE OS SS wE Eu ME Sr ra Ee er a a Fa w aE Sn a a A e
i e o aY m a a d a u O O ELAN DS a AE T ae T E a M a e T a E a N E
A M P a RN E ON e A a E A C ae D e E a S a T e O R O E a S O a
Cr k a dk SAO e Ge E DS A S G n ar a O O e Ee ETO Sa AE N a E n e e a S
2 e Oe 8 ee a sn Oe a a eM eR ee 8 eee She
Duplicate the 1 REM statement to
make the 2 REM statement by pressing
EDIT, RUBOUT, 2 and NEWLINE.
Two REM statements now appear on
the screen. Add a third REM statement
in the same way by pressing EDIT,
RUBOUT, 3, and NEWLINE. Now
only the 3 REM statement is on the
screen.
We will now combine these three
statements into one REM statement by
removing the end-of-line character 118
at the end of each of the first two REM
statements. Enter these instructions in
the immediate mode (i.e., without line
numbers):
POKE 16619,0
POKE 16815,0
The one long REM statement which re-
sults is scrolled off the screen so the
screen is now blank.
Entering the Loader Program
Next, enter the loader program in Fig-
ure 1.
Figure 1. Loader Program.
ePrints. TO 26357
2 INFUT 4
4 IF FEER (1i6421)=20 AND FEEK ¢
16420)=1 THEN CLS
ao FRINT CHR ( (A510) 4+1) CHRE
AS{TOO) +1) 242":
ó FOKE I,A
7 LET B=BR+Ā
8 NEXT. .f
This program must be kept short be-
cause the 1 REM statement is so long
and bytes have to be saved for displaying
the data we are about to enter.
November/December 1982
The B variable is used as a checksum.
We must initialize B before using the
loader program. Enter the following
instruction in the immediate mode:
LET B=0
In order to save B do not use RUN. In-
stead, enter in the immediate mode this
instruction:
GO TO 2
Entering the Machine Code
We are now ready to enter the pro-
gram that we have been developing since
Figure 2. Enter the following numbers as
they will appear on the screen four lines
at a time to make checking easier. (The
list starts at 16453 in Figure 2.)
OSEE GS O 4 & z z
121 135 a L336 oc LSaitoe
1s4 tse 448°: 42°70). 645-354. S6
G4) 550. 84°. aa 2 So 173
seses sesse sesse proot pesee soseo seneo ERE sooie ssosn seose sesse pesee seses osses seses SENSO seese sosse seseo poses seese osses seses seeoe antes seose Seose soose spote seeme
o: 61 . 64 6 ANA UN ier A E EEE ESAS o,
eha E BN 8 Go OT 2 ee ee BA
ae i Yc ghee © = meee Fs & 4 197 &
Aik Sh oe eee he 2ok. od LPS
i 06 Gas 6 a Se IS 1h
252 34 14 64 #34 #16 64 175
SO NSE Ge Bed
Change line 2 of Figure 1 to:
2 FOR I=16621 TO 16643
Enter the following immediate
instruction:
GO TO 2
and type in the following numbers:
58 68 64 61 32 11 #58 49
64 5O 68 64 205 254 65 24
6 5O 68 64 205 oo oO
Change line 2 of the Figure 1 to:
2 FOR I= 16665 to 16997
Enter the immediate instruction:
GO TO 2
and type in the following numbers:
setes seese seese coeso seseo seses SHEED sosse smese seose seses seose soste HELO sesse soose seese soose seest osote SOME seese seose seses seses seose sesos seses soome Nene sesse
a E E = a 2 © Oct hee See
24 4 1 2 16 254 34 66
64° 33. 85.65. 34 2 69 &
192. 16 254 201 a 1 1 24
43 64 24 3 & 2 200 2.16
Zoe wor. Fa 43.°° 64 & SETE
eO 4i 4i 41 OE N
EA OF 4 C) (9) ERTA e Sa FO
seese sesse sesse seese stese sesse seseo soseo seses SOURS seose seses seese sesse sesos seese seeos seees prios seess seoor seses Senet seee ssooe seese eben sesos soome soose soset
Seres sesse soees socos semt seepe coeso seeoe seess spese sespe Sheet soose seses seseo soree soose sesos sesse sesse osese sesos posee sooee peoos issos seose seoes seess seoor sosse
mese mese seese seset seseo ceses cesos sesse seese stere seses SEGRE coeso seose soose Senet deeep coeso seose coase seoee OEE cosse DEES sotoe sreee seeps seces seese seses coset
Seese spese seese stese sesse sosse seses sesos seose sesos sesos seseo rouee seses seses ssooe seere seseo seset seese soose seoce sesse seese seose seset sesos sesos sosse
64 60 460 50 43 64 254 9
AO. GO SESS Se A
33° (8S. 45 Je o 34 2 65
& 100 16 254 201 221 33 40
esses seses seses seseo serep seses soree soree seose sosoo sesse seste soset pesos soome seepe seese sesos oreet seos sesos peeso GOERS SHEDS SOURS GLOGS seost seese cosoe sooto sosse
LR PRE E EEN e a EE aN oe aD E ed
24 P S 42> _ 665 24 2. So
201° .17 °° 64. 64 227.33 43." 64
33 65 64 & Be Pe O
66 221. 126 Qo PB Be Let alee
4 16 242 38 65 64 254 2
40 10 OE TOO: (EH Ges = a a
seses ences sere esere ones means eemee Genes cesce ene antes cereo orere cosoe crees LenES ceeee GEESE SLE secre seese soome HERES croce cooee coase ceeste coooe coore seoon oooae
Using the Checksum Routine
Enter the immediate instruction:
PRINT B
and 29321 should appear on the screen.
If it does not, you will have to go back
and reenter the numbers.
Processing the Machine Code
Erase lines 2-7 by typing in each line
number and NEWLINE.
Enter the following program:
2 FOR I=16538 TO 16620
3 POKE I, PEEK (I-16217)
8 NEXT I
RUN this program (you may now use
RUN).
Change the above program so that
will read:
2 FOR I= 16644 TO 16664
3 POKE I, PEEK (I-16238)
8 NEXT I
RUN this program.
Entering Your Message
Prepare a 1 REM statement with the
message you want to rotate and enter it
with the following program. For
example,
2 REM “SYNC” THE
MAGAZINE
FOR SINCLAIR USERS.
500 LET K=USR (16472)
Be sure to use 500 for the USR line
because the program uses it for a flag to
signal the end of the message. RUN the
program and your message will contin-
ually scroll across the screen. To exit the
program, press BREAK.
Interesting variations can be made in
the program by POKEing different
numbers into the appropriate addresses.
For example, the speed of the scrolling
can be changed by POKEing a number
between 7 and 255 in address 16453. The
display can be given variety by chang-
ing the codes in the graphics table to
their inverse codes. Fa
59
GLADSTONE-'-ELECTRONICS
Cassette Software
ZX FORTH
Simplicity of BASIC with the
Speed of Machine Code
A complete implementation of the FORTH language for
the ZX81 and TS1000 computer.
FORTH’s most distinctive feature is its flexibility. The
.basic unit is the word — the programmer uses existing
words to define his own which can then be used in fur-
ther definitions. FORTH is a compiled language so pro-
grams run very fast (typically five times faster than
BASIC).
ZX-FORTH is supplied on cassette and is accompanied
by extensive documentation:
56-page Users Manual
8-page Editor Manual
Artic
ZX BUG
Machine Code Monitor and Disassembler
ZXBUG is a powerful tool for machine language pro-
gramming. It is 4K long and uses memory from 71EO to
the top memory. ZX BUG works in hexa-
decimal (base 16), not decimal, so all addresses are a
maximum of 4 Hex bits long. Provides a total of 28 com-
mands.
$14.95
GLADSTONE" ELECTRONICS
$29.95
GLADSTONE -ELECTRONICS
Artic
ZX
ASSEMBLER
This Machine Code program occupies 7K of memory
and locates itself at the top of memory. The program is a
full Editor/Assembler and Monitor. Labels may be used
instead of any string. The features include Line Inser-
tion/Delete, Insert Characters, Auto Repeat on all keys.
The monitor has facilities to inspect memory, registers
‘and run machine code programs.
$14.95
Artic
TOOLKIT
9 Powerful New Functions!
RENUMBER. This routine renumbers a program in any
step and from any line up to 9999
DELETE. This command deletes a group of lines in a pro-
gram.
MEMORY. Prints how much spare memory is available.
DUMP. Displays current values of string and numerical
values, except arrays.
FIND. Will find any string of up to 255 characters and list
each line containing that string.
REPLACE. Replaces any string of up to 255 characters
by any other string.
SAVE. Transfers program in computer to below RAM-
TOP.
APPEND. Allows two programs to be joined.
REMKILL. Removes all REM statements from a program,
otherwise leaving it unchanged, preserving memory.
Artic $14.95
GLaDsTon
Mail order to 1585 Kenmore Ave.
GLADSTONE--€LECTRONICS
GLADSTONE ELECTRONICS
GLADSTONE-'-€LECTRONICS
Y
S
=
S
:
=
ba
uy
=
S
(z)
À
a
ed
©
Get serious about Zx8i
& TS 1000 Computing
DATA STORAGE SYSTEM
For 16K or greater ZX81
PRICE INCLUDES:
1. PROGRAM TAPE
2. 8-PAGE BOOKLET
3. THREE DATA STORAGE
TAPES
4. STORAGE CASE
$34.95
MULTIFILS PLUS e
DS Ve TOE ES MAADE RO ET TS
PROGRAM (C) FEES GUS -ETE
CIE
SET UP FILE PARANMEIERS
E
I
I
Ovda UN.
SECURITY LOCK
SAVE FILES ON
ENTER YOUR CHOICE !1-8Ə)
Data Storage System
An amazingly versatile multi-purpose filing system for
the 16K ZX81. The program is menu-driven, and number,
size and headings of files are user-definable. Both string
and numerical files are catered for. Files may be
created, modified, replaced, and searched, and are pro-
tected by an ingenious foolproof security system. Out-
put to the ZX printer is also provided. The program
comes on cassette, together with three quality data
cassettes for file storage, and comprehensive documen-
tation, describing a host of applications for both
business and personal use. Supplied in an attractive
storage case. If your ZX81 is bored with playing games,
then this program will give it plenty to think about!
The Complete ZX81
and TS1000 Library!
The Complete ZX81 Basic Course
Basic Course Cassettes (2)..................--- 7.50
Getting Acquainted with your ZX81.............. 8.95
ZX81 Pocket Book
Making the Most of Your ZX81
Computer for Kids, ZX81 Edition ................ 3.95
Explorers Guide to the ZX81
2X81 Gompamnon . 5 foc. ee SE See 8.95
49 Exploding Games for the ZX81
Not Only 30 Programs for ZX81 : 1K
Machine Language Made Simple for Sinclair ....
Mastering Machine Code on your ZX81
ZX81 Rom Disassembly: Part A
ZX81 Rom Disassembly: Part B
Understanding your ZX81 ROM
CALL OR WRITE FOR FREE CATALOG
LECTRONICS
I RR MANA AA MARANON
£
with Quality Hardware and Software
from Gladstone Electronics
ZX81 Professional
and Case
A full-sized professional keyboard for the ZX81 Features
47 keys and a full-sized space bar. Connects to the ZX81
with no soldering required, via a plug-in flexible connec-
tor. You can purchase the keyboard only, or the optional
metal case that holds both keyboard and ZX81. Expan-
sion devices (i.e. RAM packs, etc) connect to the ZX81
edge-connector which extends from the rear of the
cabinet.
A professional keyboard makes program entry easier
and less error-prone.
Keyboard
Keyboard (KB-1) ............... $85.00
Metal case for keyboard
ahd ZX81(MC-1) ...............- $25.00
RAM sss.
A sensible choice for 16K RAM owners. Jigsaw 32K RAM
‘piggy-backs’ onto your 16K RAM to give a total memory
of 48K! If you do not own a 16K RAM, you may use a 32K
RAM instead. At a later date you may add the ZX81,
TS1000, or Jigsaw 16K RAM, should you decide you re-
quire more memory.
A very useful, unique Jigsaw memory feature is the pilot
light showing if your ZX81 computer/memory is
powered.
Larger memory enables longer programs and greater
data bases, enhancing the value of your personal com-
puter. And the Jigsaw 32K is part of a fully compatible
ZX81 and TS1000 system of add-on products, Additional
exciting Jigsaw products to follow shortly!
BEX RAM: 49.95
Expands the ZX81’s memory capacity to its maximum.
Use instead of 16K RAM. Same features as other Jigsaw
memory products including pilot light and full com-
patibility with other upcoming Jigsaw products.
16K RAM $49.95
Equivalent to ZX81 or TS1000 16K RAM. Fully compati-
ble in appearance and performance with other Jigsaw
products.
Call (716) 874-5510
For Visa, MC Orders
Buffalo N.Y. 14217 Checks or money orders. No CODs. Add shipping
Introducing
JARANI
The Ultimate
Adventure
With a 10,000 pounds sterling
(real money!)
pay-off
‘MY SON,by the time you receive this package, I will be
dead. This is my legacy to you. All my life | have worked
hard to make a living and save money for your future. As
you know I was an international courier. Contained on
this cassette are 12 clues of an international flavor,
which will furnish you with the information to gain ac-
cess to a bank account. In that bank account is a
minimum sum of 10,000 pounds sterling, which I have
accumulated on your behalf over the years. The longer
the sum remains in the account the greater the amount
will become. | could have bequeathed the money to you,
but | feel it is in your interest to solve these clues. Then I
will feel you are mature enough an adult to handle this
legacy.
God bless you always, your loving Taibon.
So begins KRAKIT, the ultimate adventure and treasure
hunt on the ZX81. The bank account and the prize actual-
ly exist. Crack the puzzle and the prize is yours! Krakit
consists of 12 clues. In each clue there is a reference to
a country, a city or town and a number. When you have
solved the first clue, you will need to enter the two
words and the number to release the next clue. It is
necessary to solve all the clues to find the correct
answer. If you do you will be supplied with two airplane
tickets. When you arrive, a check for a minimum amount
of 10,000 pounds sterling will be presented to you. Fur-
thermore for every copy of Krakit sold a further dollar
will be placed in the bank account.
Here is the type of clue you will find in Krakit:
‘Where it all began. Where the torch was first lit. Where
muscles and sinews strain. Where our heros won ac-
claim.
Where the symbols hold the key.’
KRAKIT.16K RAM $19.95
RULES. 1. The first person to be confirmed by the judges.
to have completed all the clues correctly will be the win-
ner. 2. There will be one winner only. 3. No person
related to |.P.S. is eligible. 4. Offer not valid where pro-
hibited by law.
*Trademark of International Publishing & Software, Inc.
MAZOGS
MAZE
ADVENTURE
$9.95
A new standard in. ZX81 programming. MAZOGS
presents the best use of ZX81 graphics to date Written
in machine code, MAZOGS is fast, exciting, and
challenging!
You are confronted by a large complex maze which con-
tains a fabulous Treasure. Within the maze are the
Mazogs who will involve you in combat when you meet
them. Each game begins when you meet them. Each
game begins with a different randomly created maze.
You will not see all of the maze. As you move through
the halls, you will be startled by the quality of the
graphics animation and the speed with which the game
progresses.
Once you have mastered the first two levels of the game,
you are ready to challenge the Maniac Mobile Mazogs
who move about in a totally unpredictable manner.
To those who say the ZX81 is not a good games-player:
we suggest you try your luck with Mazogs! (16K or
greater)
MAZE ADL JENT IRE GANE,
Have fun with ZX81
& TS 1000 Computing
GALAXY
INVADERS
$14.95
An excellent version of the classic space game. Protect
your seven lives against fleets of hostile invaders, who
swoop down and attack quickly. This version is an ex-
cellent demonstration of the capabilities of the ZX81 or
TS1000 to entertain and excite for hours.
ZX
SCRAMBLE
$14.95
Pilot your space craft through a fast moving, complex
space maze. Watch out for missiles being fired from all
directions. You can shoot back or evade them. Written in
machine code for fast-paced excitement.
MARINE
RESCUE
$11.95
Your ZX81 becomes the command console as a diver
descends to the sunken submarine Nautilus to rescue
as many of the stranded crew as possible. It’s a race
against time as your oxygen supply must be replenish-
ed. It’s also a constant battle against marauding sharks
which you can attempt to blast with your laser.
GLabpsTon
CHARGE TO:
§Clvisa [] MASTERCARD
pee number:
amare
le ees
Signature
i Date
§ NAME
a ADDRESS
F CITY: STATE:
ORDER —
eT ee Ce Pe meee eee nen ae ee ee ee
Please rush me:
Now Choose
from 3 great
games!
ZX CH. ESS =
Full graphic display of chess board. Six levels of play,
two of which play within competitive time limits. You
choose black or white. Plays all legal moves including
castling and en-passant. You can save games in pro-
gress on cassette. Displays moves of game on screen,
or output yo printer, for analysis. Board can be set up in
any position, you can even change sides mid-game.
Clear entire board with one command: for end game
analysis. Written totally in machine code, ZX CHESS
(Enhanced) is a superb game for the advanced chess
player.
16K $12.95
ZX CHESS II (CHESS MASTER)
The strongest chess game available on ZX81. ZXCHESS
ll has not ben beaten. All the features of ZX CHESS
(Enhanced), plus much more. Has a book of 32 opening
moves. Can play at 7 levels, four of which play within
competition time limits. A move is suggested by the
ZX81 if requested.
$24.95
16K.
1K ZX CHESS
A good introduction to chess for 1K ZX81/TS1000
owners. Even within this limited memory space, a full
graphic representation of the chess board is included.
Single level of play. Does not accept castling or en-
passant moves.
BLACKJACK
Blackjack at its best. Blackjack as it played in the
casinos of Nevada. Up to five players can play against a
dealer with a fifty-two card deck. Split pairs, double
down, and even buy insurance. The deck is reshuffled
only when needed — allows for a continuous game.
Your winnings and losings are displayed after each
hand.
Adventure Games!
Galactic Commando...............--.2++++05: 11.95
Crown & Scaptor oaio gs wig Fee oes 11.95
Tank raD- eo eo 9S rs a PEST AE 11.95
Sint Machine. e Tee Pe See ANa 14.95
LECTRONICS
i
TE A a
I b.
New York :
Res. add cd f
T
i
a
tax
SHIPPING
y4| eae TOTAL ____
To: Gladstone Electronics, 1585 Kenmore Ave., Buffalo N.Y. 14217
eZ Hee E E E E E E E E E E Ee EE 8
Call or write for free TS1000 & ZX81 catalog
sjiuo4i9312 -JU0LS0E19
$12.95
SJilU0Y41271+-3U01S0E19
=a
“ll
4 SJIUOY1IJI¥ ;-JU01S0E19
$21U0819317..3U01Ssade19
S91U0419313-, -3JU0LS0e19
$21U0819317 -3U01S0E19 SIJIUOYLIJI+ -JU0180E19
8K ROM
16K RAM (1K RAM)
Line Print Utility martin Albrecht
Reading computer-style text, where the
words get chopped off at the end of the
line, is easy enough once you get the
hang of it. However, if the printout of a
program is intended for use by people not
used to this style, it is friendlier to PRINT
out the text in a more legible format.
Listing 1 is a simple subroutine for the
Timex/Sinclair computers that will
PRINT a string text in such a way that
the left margin is straight and each line
ends with a whole word.
This rudimentary word-processing util-
ity uses a pair of nested FOR-NEXT loops
and exploits the unique string-slicing capa-
bilities of the Timex/Sinclair.
Here is how it works. After the string
text is registered, line 20 sends the com-
puter to the 32nd element in the string.
Since the Timex/Sinclair video format
prints 32 columns across the screen, the
32nd element of the string will be at the
right-hand margin of the first line of raw
text. At this point (R), lines 30 and 40
start the computer counting backward (R
minus K), inspecting the code of each
successive string character. If code 0 (the
space) is found, the machine jumps out of
the K loop to line 60. Here it is command-
ed to PRINT the slice of A$ that starts
with the 31st element counting backward
from R (here, the first string element,
since 32-31=1) and ends with the first
space character it met on its backward
search from R. This gives the first process-
ed line of text.
The trick now is to make the machine
print out the second and subsequent lines
by the same rules.
Simply incrementing R by 32, thus send-
ing the machine to the 64th string ele-
ment will not do, except in the unusual
case that the 32nd element happened to
be a space. In the more common case,
the machine has to “dump” one or more
string elements in its backward count
Martin Albrecht, 1143 McKinley Ave., #17,
Oakland, CA 94610.
62
from element 32 until it encounters the
first space. These “dumped” letters, of
course, make up the first part of a
chopped word, and they must be recov-
ered to begin the second line of processed
text. If we send the computer to string
element 64 to begin its space search, we
will have gone past the right-hand margin
of the second line of text and be some-
where in the third line. Consequently, the
letters dropped from the first line will be
lost. Our starting point for searching the
second line has to be not 64 (the 64th
string element) but rather, 64 minus the
number of dropped letters. This number
is given by the value of the counter, K.
Therefore, we decrement the value of R
by K (line 70 of the program) and only
then do we increment R by STEP 32 and
start the cycle anew.
Listing 1. Line Print Utility.
10 LET Af=" (YOUR TEXT TO BE P
ROCESSED) “
20 FOR R=32 TO LEN AS STEP 32
50 FOR K=@ TO 32
4@ IF AS (R-K) =<CHRS @ THEN GOTG
NEXT K
6a PRINT RAS(t(R-323} TO {R-K}}
8@ IF (R+32)>LEN A$ THEN GOTO
390 NEXT R
180 PRINT AS(({R+i3 TO }
Everything proceeds smoothly now
until the program gets to the last line of
the raw text. If, as is usually the case, this
remainder has fewer than 32 elements,
then the next STEP value of R would
exceed its limit of LEN A$. The program
therefore balks. It might be though that
this could be fixed by raising the limit of
R, say to the value LEN A$ + 32, but this
does not work. Any element of A$ with a
subscript higher than LEN A$ will not be
found when the computer gets tp the
PRINT command, and again we get error
report 3—subscript out of range. The
solution is line 80, which inspects the
: value of R to see whether the next incre-
mental step would exceed LEN A$. If so,
the machine is directed to line 100 with
its command to print everything from R
+ 1 (the last space plus one) forward to
the end of the string.
The ZX81 handles this slightly complex
operation, in which the slicing subscripts
are themselves expressions, with remark-
able dispatch. It spits out the processed
text at a rate of better than five lines to
the second, in SLOW mode. It could be
made to go marginally faster by limiting
the value of K to, say, half the line (16) or
even less, since there are few words of
this length. But this does not seem neces-
sary. If the string text contains a word of
more than 31 letters, however, the pro-
gram in its present form breaks down. If
this is liable to be a problem, you can
always add line
45 IF K=31 THEN PRINT A$
In other words, if the word is too long
forget it!
This routine prints the text flush left,
ragged right. There is a clean left margin
without the leading spaces that occur in
the raw text. If instead you want to print
it flush right, ragged left, then enter the
following lines in Listing 1:
60 PRINT TAB K; A$((R-31) TO (R-
K))
100 PRINT TAB (LEN A$+1-R);
((R+1)TO#)
It should not be too complicated to
add further modifications that run cen-
tered with both sides ragged or flush on
both sides with the extra spaces distribu-
tion throughout the line.
By adding program line 15 PRINT A$
(and 16 PRINT for clarity) you will obtain
a before-and-after comparison between
the raw and the processed string.
This short utility routine shows that a
computer need not be loaded with mega-
bytes of memory to clean up its PRINT
act. Of course, this routine cannot accom-
plish hyphenation of words. But for the
modest purpose of making the PRINT
output of the computer more legible to
the user, it works just fine.
SYNC Magazine
An Essential addition to your 16K RAM ZX81
TOOLKIT (written by Paul Holmes)
Provides the following additional facilities:
Line renumber - you State starting number and increment
value
GOTO's and GOSUB's included in line renumber
Search and List - Searches for and lists every line
containing specified character
Search and replace - changes every occurance of a
character as you require
Free space - tells you how many free bytes you have left
SPECIAL GRAPHICS ROUTINES
Hyper graphics mode -graphics never seen on a ZX81
before
Fill - fills your screen instantly with your speci!.ed character
GAMES PACK
Beat this for value! Five 16K programs
Plus two 1K programs
3-D Battle (M code 1K)
City Bomb (M code 1K)
Warp Wars (Basic & M code 16K)
Snake (Basic 16K)
Sweet Tooth (Basic & M code 16K)
Slalom (Basic 16K)
Black Holes (Basic 16K)
ALL ON ONE CASSETTE FOR
ONLY $9.90 (£4.95)
“ASTROLOGY”
FOR ZX-81/80/TIMEX (16K)
* CAST HOROSCOPES COMPLETE
WITH CHART
* LOCATE PLANETS
ASTROLOGY COMPUTES THE POSITION OF THE PLANETS IN THE SKY FOR
ANY TIME AND ALMOST ANY PLACE IN THE 20TH CENTURY. ALSO COM-
PUTED ARE SIDEREAL TIME AND JULIAN DAYS. THESE FEATURES MAKE
“ASTROLOGY” USEFUL NOT ONLY FOR THE PURPOSE OF CASTING
HOROSCOPES BUT ALSO TO ASTRONOMERS FOR LOCATING THE PLAN-
CRUISERS GAME
(16K - ZX81)
First computer version of this popular
game of strategy and tactics. Both
Reverse - changes each character on your screen to its
inverse video
TAPE ROUTINE - provides a system WAIT condition
until a signal is received in the cassette ear jack.
All these routines are written in machine code and together
take up only 1K of your precious RAM - an incredible
achievement!!
FOR 16K ONLY $9.90 (£4.95)
grids on view together. Establish the
position of your fleet then locate and
destroy the computer's fleet. Visual
display shows hits and misses made
and gives running score
ONL Y $9.90 (£4.95)
© GRAPHICS TOOLKIT
(another masterpiece
by Paul Holmes) (ZX81 - 16K RAM ONLY)
22 exciting MACHINE CODE routines that give you control over your screen as never before!
ETS. CAST HOROSCOPES FOR FRIENDS AND FAMILY AND PAY FOR “AS- Draw/Undraw draws or deletes your multi Oriscroen/Ofiscreenturnsvourscreen' oh OF at
TROLOGY” MANY TIMES OVER! character shape which is defined in a REM Background On/Off Fills your screen by your
vests ay Rc hie A as seid aa ae specified character. When foreground is on existing
shapes as you like and Craw Or undraw each al wi information.is unaffected and shapes will appear to
DIGITAL POSI-LOAD TAPE WITH INSTRUCTIONS AND CHART $20.00 at whichever screen position you choose Tes i iaet GF clr BEGGS vais e
: Foreground On/Off use this to ‘protect’ existing Search and Repl i h
mises ` place will search the screen for
OPTIONAL—RECOMMENDED BOOK THE ASTROLOGERS HANDBOOK characters on your screen. When on new shapes every occurrence of the character you specify and
(HARDBOUND) BY SAKOIAN & ACKER—PUB. HARPER & ROW $18.50 . will appear to slide behind and re-emerge from replace it with your new character
other shapes
2 Square draws a square or rectangle from your
Border/Unborder Draws a border round the edges specified co-ordinates.
of your screen area. Edit lines can be used if required
H A M-AID
Yourborder is protected when foreground ts on. All these routines are in machine code for SUPER
2X81/80/TIMEX (2K) Fill Fills any number of lines you specify, starting at FAST response! Simply load GRAPHICS
any line you specify, by your chosen character TOOLKIT, which repositions itself at the end of
your RAM, and then your own program (or key ina
new one), GRAPHICS TOOLKIT uses only 2K of
your RAM and that includes space ‘to load the
programmers TOOLKIT described above
* THE ELECTRONIC CALCULATOR
CALCULATE REACTANCE, RESONANCE, RESISTORS IN PARALLEL, AND
EVALUATE EXPRESSIONS
POSI-LOAD TAPE WITH INSTRUCTIONS $8.00
Active Designs
1108 BILTMORE DR.
NASHVILLE, TN 37204
615-297-4755
Reverse Converts all characters to their inverse
video, control as in FILL
Print Position Controls
UP, DOWN, LEFT, RIGHT | alter your next PRINT
position in the direetion indicated ALL FOR ONLY $11.90 (£5.95)
Editprint Moves next PRINT position to first edit line
This includes a cassette with 2 copies of the
program, 2 copies of a demonstration program,
plus a comprehensive instruction booklet with
examples
Scroll facilities
UPSCROLL, DOWNSCROLL, RIGHTSCROLL,
LEFTSCROLL Scroll your screen in the direction
indicated
PLEASE NOTE ALL PRICES ARE FULLY INCLUSIVE AND ARE APPLICABLE FOR EXPORT INCLUDING AIRMAIL POSTAGE
PAYMENT MAY 8F MADE IN STERLING (MONEY ORDER AVAILABLE AT YOUR BANK? OR YOUR OWN U S $ CHEQUE
MADF PAYABLE TO JRS SOFTWARE DESPATCH NORMALLY 7 DAYS FROM RECEIPT OF ORDER
19 WAYSIDE AVENUE, WORTHING, SUSSEX. BN13 3JU Telephone: (0903) 65691
Make your
Computer Speak!
Introducing the Namal Super Talker.
Infinite vocabulary
560 common words dictionary
2K x 8 Ram Board to program your own words.
Attractive plastic casing.
Built in speaker
Simple to program
Timex and Sinclair Version Price $99.95 :
Spectrum Price $139.95 For any other computer
with RS 232 Interface Price $159.95
International money order or certified cheque inclusive of
Postage and Packaging payable to Namal Associates
Namal Associates 25 Gwydir Street, Cambridge, CB1 2LG ENGLAND
Telephone: (0223) 355404 Telex: 817445
mee Ee Eee Eee Ee eee eee ee ‘MMM å‘ ee ee ee ‘M
Please rush me (Quantity)...... Timex/ Sinclair Super Talker@ $99.95
Please rush me (Quantity)...... Spectrum Super Talker@ $139.95
Please rush me (Quantity)...... RS 232 Computer Super Talker@ $159.95
Add Postage and Packaging $4.50 | Enclose $ 0.0... ceeecceccccccecceceseseseeteeeeeeees
EE eS ee ee 2 inarure
Address
S/ N/ Dy ST
(CESS n a a a ate a Mee tL ely ge REP TONER a a yy. Cryst Rector
Hardware Breakthrough!
*% = ZX-Man
$1495
Æ% Joystick
$1495
*% Keyboard
$7495
full-size assembled
w/leatherette case
FULLY ASSEMBLED KEYBOARD
1) Fully assembled 3) 30 Day Warranty
2) Includes Key Cap Legends 4) 2X80/ZX81 compatible
5) Some soldering necessary
THE INNOVATORS
ARE COMING
Call or Write for more information
American Express, Visa, Master Charge, Money order, pc (allow 2-3 weeks to clear)
Please add $2.50 postage & handling
Illinois residents please add 5% Ill. sales tax
Visit our Showroom 10:00 - 6:00 Monday thru Saturday
MICROCOMPUTERS PLUS, INC.
ee 349 EAST MAIN ST.
ver GALESBURG, IL 61401
ards : | PHONE: (309) 342-9572
cut: fA A ,
EXPRESS
|
Large Letters for the
8K, 2K Machine Joe Carroll
Getting personal and small business
computers out into homes and small
offices depends on having software sup-
port available. The software writer must
use his imagination and every tool he can
find to make his programs self-prompting,
fast, and easy to use.
One tool that has been useful to me is a
Basic subroutine to create 4x4 characters
for the 8K ROM. The routine works well
enough and enhances the display. How-
ever, it is slow. If used repeatedly, the
delay can be irksome. The annoyance is
not user-friendly! The obvious solution is
to write a machine language subroutine
to do the work.
Getting Organized
Like many solutions, this created new
problems. The first step was to write a
development program. I came up with a
flexible, menu driven, decimal, hexa-
decimal machine code loader, reader, and
reviewer.
Next a decision had to be made about
where to hold the machine code. I
decided to use REM statements. This is
the most convenient and sturdy way, and
the code can be easily SAVEd. There are
a few drawbacks though which will be
taken up later.
Dimensioned arrays were chosen as the
best way to store the original and
expanded strings. Arrays are easily
addressed from the Basic program, of
course, and, when entered as the first
variables, they can be addressed by the
machine code program by indexing from
the VARS pointer. Each dimensioned
array will keep its size and indexed posi-
tion from the VARS pointer constant.
The Initial Listing
Let us look at the following program
which shows the general organization of
the program.
1 REM (at least 32 bytes)
2 REM (150 to 160 bytes)
10 DIM A$(8)
12 DIM X$(128)
I REM will contain 32 graphics char-
acters used to build each expanded char-
acter.
2 REM is the body of the machine code
subroutine, about 141 bytes plus spares.
10 DIM A$(8) is the first variable
loaded into VARS. It is loaded from a
Basic program with the characters to be
Joe Carroll, 3422 Mimosa Ln., Huntsville, AL
35810.
November/December 1982
expanded. The address of the first ele-
ment of A$ is (VARS)+6, PEEK 16400
+ 256 * PEEK 16401 + 6. The file name
and all use the extra six bytes.
20 DIM X$(128) is the second variable
loaded into VARS. It is loaded by the
machine code routine from A$ to form 8
expanded characters, 16 bytes per char-
acter. It forms 4 lines of 32 characters.
The address of the first element in X$ is
(VARS)+20.
Brief Program Description
The program first finds the address of
A$ and X$, then clears X$. X$ is divided
into 8 4x4 blocks. For each inverse
character in A$, the corresponding 4x4
block in X$ is coded for the inverse
character set. Next, it finds the address
of the character generator for each
character in A$. The character generator
for a space, CHR$0, starts at 7680 and
has 8 bytes of all zeros. The character
generator for the letter A, CHR$38, starts
at 7680 + (8 x 38) = 7984 and looks like
this bit pattern: |
7984 00000000
7985 00111100
7986 01000010
7987 01000010
7988 01111110
7989 01000010
7990 01000010
7991 00000000
64 characters are generated this way.
All other characters are combinations or
inverses of these 64.
The program divides this bit pattern
into 16 blocks and loads each bit pattern
one bit at a time into X$. Now each
element in X$ has a value between 0 and
31, which represents a graphics character
in 1 REM. The last part of the program
uses this value to load that character back
into X$.
Loading the Program
To load the machine code, enter the
REM statements as follows:
1 REM followed by at least 32 char-
acters and a few spares.
2 REM followed by at least 150 to 160
characters. (The character entered is
immaterial. One convenient way of enter-
ing is to use 1234567890 and repeat the
sequence until the required number is
reached. In this way you can easily count
how many have been entered.)
Then to find the addresses of these
REM statements, add the program in
Listing 2, hit ENTER, and RUN 1000.
After you find the addresses, write them
down. No, not on the blotter. Be organ-
ized and keep notes that you can refer to
8K ROM
2K RAM
later. The 1 REM statement should start
at 16514.
Figure 1 gives the hexadecimal and
decimal listings to load into 1 REM. The
first 16 are graphics characters for normal
characters. The next 16 are inverse char-
acters. If you are using the decimal
machine code loader in Listing 1, hit
RUN, and enter the numbers from the
decimal column in Figure 1.
The next step is to load the body of the
program into the 2 REM statement. Since
it is about 141 bytes long, reserving about
160 bytes in 2 REM is recommended.
There is a step near the end of the pro-
gram that contains the code 7Eh (126d).
This code will exist in a REM statement,
but it will not display when listed and
neither will the next five codes. This is no
problem for the program unless you try
to EDIT 2 REM or change the length of 1
REM. This can cause the last six bytes of
the program to disappear. Having extra
bytes at the end of the program can save
you trouble if you have to POKE the last
six bytes back in. PEEKing is the only
way to find out if they are still there.
Earlier in the program is the code 7Fh
(127d). The only problem this can cause
is that it prevents you from driving the
cursor past that point. If it is necessary to
do so, just POKE a zero into that address,
then remember to POKE 7Fh (127d) back
later. Using the editor is certain to cause
the loss of the last six bytes.
The body of the program is divided
into four parts for analysis and trouble
shooting.
Part 1. Initializing
Part 1 is not very complicated. It finds
the addresses of A$ and X$, then clears
X$. Figure 2 is the hexadecimal listing;
Figure 2a, the decimal. Load Part 1 into
the 2 REM statement (remember where
you wrote that address?). If you are using
Listing 1, change line 110 to read:
110 FOR A=P1 TO P1+22
P1 is the address of the second number
found in running Listing 2 above. The
program will run itself if you add a return
code to the end of Part 1: C9h (201d).
Again save the addresses for use in Part
Now RUN the Basic program to load
A$(8) and X$(128) into the VARS area.
Before you RUN the machine code pro-
gram, SAVE it on tape.
To test Part 1, enter PRINT USR X as
a command (X is the address of the 2
REM statement) and press ENTER. You
should get 14 on the display with a 0/0
error code; and PRINT X$ should return
four lines of empty spaces, regardless of
what was in A$ or X$ before, and a 0/0
error code. If you got all this, you are
ready for Part 2.
65
CHIRPER module for your ZX81
or your timex/sinclair 1000.
The CHIRPER module lets you enter keyboard
data fast and accurately. A sound can be heard
when a key has been entered enabling you to
spot a double entry or missed entry without
looking up at the screen.
The CHIRPER sound is produced when a pro-
gram runs. A key entry results in a buzz-like chirp
on 1K or 2K machines. Large programs in a RAM
pack produce a continuous sound that chances
pattern on key entry.
The CHIRPER module installs easily inside the
ZX81 case with only 3 wires to connect. Complete
installation instructions included.
Send a check or money order. We pay the postage
in the U.S.A or canada.
AUDIOGRAPH CO.
3584 Leroy, Ann Arbor, MI 48103
2X80 2x81 TIMEX MICROACE
CRASH NOT. WANT NOT.
Have you had unexplainable system crashes? Lost
programs due to brownouts or power failures? Or
just plain tripped over your electric cord?
If so, you need an uninterruptable power supply.
UPSYSTEMS is a battery powered backup system
that kicks in automatically as soon as its sensors
detect a drop in voltage coming from your power
supply. Your system keeps on ticking.
Simple to install and use. Just plug your power cord
into UPS and plug UPS into your system and you
are ready for any power glitch or failure. (Additional
cord included).
All systems include on/off/reset switch for your
convenience (you no longer have to unplug your
computer to reset it). All systems are compact, ap-
prox. 13 cm x 7 cm x 4 cm (5%" x 25" x 158”).
UPS-1 Economy system, uses 2-9 volt alkaline
batteries (not included). $14.95 + $2.00
shipping, handling & insurance.
UPS-1M Same as UPS-1 except it includes a Pro-
gram Loading Monitor to solve your tape
loading problems. $19.95 + $2.00 S, H&l.
UPS-2 NiCd system that recharges itself auto-
matically (NiCd battery included). $29.95
+ $3.00 S, H&l.
UPS-2M Same as UPS-2 except it includes a PLM.
$34.95 + $4.00 S, H&l.
90 Day Guarantee on Parts and Labor.
Check or money order payable to: UPSYSTEMS.
Foreign orders add $1.00.
UPSYSTEMS
RA BANKS
5800 HOLLISTER
DEPT 1901
HOU TX 77040
66
If, on the other hand, the program
crashed, reLOAD what you SAVEd. Now
check to see if the “Push” and “Pop”
codes balance. (See Figure 2, source state-
ment column.) These codes push and pop
two bytes on and off the machine stack.
The stack also contains the address to
return to Basic. So if the Push and Pop
codes do not balance, the machine will
not return to Basic.
Error code 2/0 after PRINT A$ or
PRINT X$ indicates that the variables
area has been altered. Check the A$ and
X$ address loaders.
Part 2. Inverse Character Check
Part 2 checks each element in A$ for
inverse characters. For any inverse char-
acter found in A$, the corresponding 4x4
block in X$ is incremented. This incre-
ment will cause Part 4, the interpreter, to
use the inverse graphics section of the 1
REM statement.
Load Part 2 immediately after the last
byte of Part 1. If you ended Part 1 with
the return code, C9h (201d), replace it
with the first step of Part 2, or POKE a
zero (NOP code) in its place. Otherwise
the program will not run beyond Part 1.
Figure 3 is the hexadecimal listing; Figure
3a, the decimal listing. If you are using
Listing 1, change line 110 to:
110 FOR A=P2 TO P2+38
P2 is P1 + 22. Write down the address of
P2 + 38 for use as P3 in Part 3 below.
To test Part 2, end it with the return
code, C9h (201d), as we did for Part 1.
PRINT USR X should return 28 on the
display with a 0/0 error code. PRINT X$
should return 4x4 empty spaces for each
normal character in A$, and 4x4 blocks
of CHR$1 for each inverse character.
If you do not get this, or if the program
crashes, use the same procedure used to
— Figure 1. Contents of 1 REM statement (Hex). _
Hex Code Decimal Comment
16514 (016) ©
16515 of 135
16516 04 4
165i7 83 131
16518 02 F
16519 85 133
16520 OS 6
16521 8i 129
16522 Ol 1
16523 86 134
16524 os o
16525 82 130
16526 Os =
16527 84 132
16528 O7 7
16529 Bi 128
16530 80 128
16531 07 7
16532 84 132
16533 Os a
16534 82 130
16535 os 5
16536 846 134
16537 Dİ 1
16538 8i 129
16539 06 6
16540 85 ESS
16541 oO? 2
16542 83 TASI
16543 OF 4
16544 87 135
16545 OO (8)
— Listing 1. Decimal Machine Code Loader. —
n80 REM MACHINE CODE LORDER, DE
"110 FOR R=16514 TO 16545
128 IF PEEK 1644242 THEN SCROLL
@ PRINT Ñ,
Listing 2. REM statement address locater. __
3886 FOR F=i65@G9 To 16700
Saar IF PEEK FHas4 THEN PRINT F4
1220 NEXT F
~ Žž Figure3. Inverse character sorting routine (Hex).
Hex Code OP Statement
DS FUSH DE
ES FUSH HL
0O1 1C 08 LD BC NN
Co PUSH BC
1A LD A (DE)
GaS INC DE
DS PUSH DE
ES PUSH HL
FE 7F CF N
28 OD JR NC
06 04 LD BN
CS FUSH BC
06 O04 LD BN
34 INC (HL)
a INC HL
10 FC DJ NZ
O9 ADD HL BC
Gi FOF EC
10 FS DJ NZ
El FOP HL
Oi 04 OO LD BC NN
09 ADD HL BC
Di POF DE
Ci POP BC
10 Ei DJ NZ
El FOF HL
Di FOF DE
Comment
save A$ addr
save X$ addr
A4 Chr counter
save Chr cntr
code A$
next At
save A$ addr
save X$
check for inverse
jump if not
X$ row cntr
save X$ row cntr
X$ column cntr
mark inv chr
next X$
loop column ctr
next X$ row
row cntr
X$ row loop
X$ addr
x$ chr disp
next X$ addr
next A$ addr
GENET
Chr loop
X$ addr
A$ addr
wae “88 ag ‘EER see MIB ls ‘SS un IS lee ^AR ls ES as AR le ‘AU le SE ls ‘RR ls RAE Can CR va
SYNC Magazine
check Part 1. Do not forget to SAVE Part 3. Bit Shuffling
everything on tape before you RUN any- Part 3 is the most complicated part, ST AR VENTURE
thing. If you got everything except the and the heart of the whole program. It
4x4 blocks of CHR$1 for inverse char- locates the Character Generator in the GAM E:
acters, check to see whether you forgot 8K ROM for each character in A$. Then Seek out and destroy enemy
to remove or replace the return code it shuffles each bit from the Character
after Part 1.
Generator to the proper address in X$.
Figure 2. Initializes program by getting addresses of AS and XS (Hex).
vessels to move up in Star Fleet
ranks.
Program listing
Cassette
Hex Code OP Statement Comment $1.00 shipping
Soc se ea aS OTHER PROGRAMS
09 ADD HL BC : A$ addr AVAILABLE
ee potion , ee eee SASE for Brochure
3 disp to
09 ADD HL BC : X$ addr Dependable Load
ES PUSH HL >: save X$ addr monitor $4.95
SE 90 LD A N ; zero A reg 8K/16K, ZX80/ZX81.
06 BÜ LD BN 3 X$ size
ae LD(HL) A s zero X$ addr DSBC
2 INC HL s next X$ addr P.O. BOX 1251
10 FC DJNZ 3 X$ loop
E1 FOP HL 1 Xe. sadr DOLAN SPRINGS,
Di POP DE : A$ addr ARIZONA 86441
_ Figure 3a. Inverse character sort (Decimal). _
—— Figure 2a. Initialization (Decimal). rA 13 245;
279 é #20
42 22 1 4 1 eee eee ` o
16 62 28 197 4 ood DOĞ eses, Ö ces BOS se
64 ©) & 6 ) rememoriar A RR NA RR
1 6 197 4 9
pie 2 kes NEWSLETTER
E 149 19 39 193
F S i EVERY MONTH OUR
Ze 16 2a 232 220
ian) 252 eae 225 SUBSCRIBERS RECEIVE
14 220 127 193 209
9 209 5 16 programs — projects
reviews — articles
Figure 4. Bit shuffling loops (Hex). and more!
Hex Code OP Statement Comment SAMPLE ISSUE AND FREE
06 08 LD BN s A$ chr cntr PROGRAM
Le PUSH BC 3 save A$ chr cntr ee
1A LD A (DE) 3 A$ chrs am (=
E6 3F AND A : mask A<64 = =
13 INC DE 3 next AS addr
DS FUSH DE s Save next A$ addr
ES FUSH HL : save X$ addr send $1.00 (shpg.)
21-F8. TD LD HL NN ; Chr gen addr-8
11 O08 OO LD DE NN 3 Chr gen addr incr BOX 2411 VISTA, CA 92083
47 LD BA 3 loop counter for
04 INC B ; Chr gen addr
ba ADD HL DE ; A$ Chr gen addr
iò FD DJ NZ ; loop for Chr gen
ER EX DE HL ; A$ Chr gen in DE
El FOF HL ; X$ addr
Ob 04 LD EN s dbl row entr “For Adults Only’’
co FUSH BC 3 save dbl row cntr
06 O2 LD K N 3 single row cntr
Co FUSH BC 3 save sngl row cntr An adult program to add
1A LD A (DE) ; 1 byte of Chr$ gen spice to your life. Not a game,
ES FUSH HL 3 Save X$ addr $ f
UNA Meo E N A cate but an aid to better under
17 RLA ; 1 bit from Chr$gen standing of your lovers
CH 16 RL (HL) s Lobat i tnta.xs : ’ : :
17 RLA ; 1 bit from Chr$gen desires. You'll enjoy this pro-
CB 16 RL (HL) .- 1 bit anto. xs gram if you enjoy loving...
aa INC HL 5 next X$ addr
TO! BZ DJ NZ $ oop 2.- bit -centr
EA FOP HL. 3 X$ addr
13 INC DE 3 next Chrtgen addr $
R POP: BC 3 Single row cntr 19 95
10 ED DJ NZ : loop sngl row cntr J be + 1.50 p&h
O1 20 00 LD BC NN 3 X$ row incr Florida resident add 5% tax
07 ADD HL BC 3 next X$ row
Gi Per - BC ; dbl row cntr
TO- ES DJ NZ s loop dbl row cntr
DE 7C 00 LD DE NN ; X$ disp
ED- -JA SBC HL DE 3 X$ addr new chr
Di POP DE : AX addr
Ci FOF EC s AS chr cntr
10 C4 DJ NZ ; loop A$ chr cntr
November/December 1982
67
The key to the bit shuffling is in two
codes: 17h, RLA and CB 16,RL (HL).
RLA shifts each bit in Register A (in the
CPU) one place to the left, and overflows
to the Carry Flag (in the CPU). The bit
that was in the Carry Flag rotates back to
Register A. RL(HL) works the same way
using the byte at the address in Register
HL.
Part 3 uses several loops to load Regis-
ter A with a byte from the Character
Generator and load Register HL with an
address in X$. Then the RLA code shifts
one bit from the Character Generator to
the Carry Flag, and RL (HL) shifts that
bit into the address in X$. Four bits are
shifted, one bit at a time, into each of the
128 addresses in X$. If shuffling 512 bits
— Figure 4a. Bit shuffling loops (Decimal). ___
6 4 25 Q
8 Ba 203 9
197 16 Ze iss
26 2A DA 16
mad Zoo 205 By PA
63 223 22 17
i9 6 oo 124
2135 4 16 Q
2a? E27 247 Sd.
oS 6 Za ss
248 Z Ihe 209
a9 19:7 193 193
TA 26 FG 16
8 PR j 2S7 1976
Q 6 1
71 4 32
(Requires 16K RAM memory pack)
ANNOUNCING a new software program for TIMEX/
SINCLAIR TS1000 and SINCLAIR ZX81 computers.
OSIIN OPACE
into 128 addresses sounds a little tedious,
I assure you, the whole program runs
faster than you can blink.
Figure 4 is the hexadecimal listing for
Part 3. Figure 4a is the decimal listing.
Enter Part 3 the same way as you entered
Part 2. Be sure to remove or replace the
return code, C9h (201d), from the end of
Part 2. If you are using Listing 1, change
line 110 to:
-110 FOR A=P3 TO P3+62
P3 is the address plus 38 from Part 2.
Write down the address for Part 4.
If you have been doing well so far,
enter Part 4, the interpreter, too. It is
only 19 more steps.
If you add the return code, C9h (201d),
and test the program, you should get the
same display as before, except PRINT X$
should return four lines of characters
between CHR$0 and CHR$31 for each
Listing 3. 1 REM and 2 REM.
2 REM (22 GRAPHICS CHARACTERS
REN (141 PROGRAM SFOrFs}
A$ tS)
12 DIK Y$ (128
x =4554
Listing 4. Sample application.
100 PRINT “ENTER PHRASE"
118 INPUT AS
170 GoTa Iiga
LENGTH
C-10
character in A$ that is not an empty
space.
If you went ahead and loaded Part 4,
the interpreter, PRINT X$ should return
the finished product, an exact 4x4 enlarge-
ment of each character in A$. Note that
Part 4 already ends with the return code,
C9h (201d). Troubleshoot as before.
Part 4. The Interpreter
Part 4 is the shortest and easiest part of
the program. It has only one loop. It
loads the HL Register with the 1 REM
statement address. The 1 REM statement
holds the graphics characters that build
each 4x4 character. For each address in
X$, the value at that address (0 to 31) is
added to HL. The graphics character
found at HL + (0 to 31) is then placed
into X$. This will loop 128 times to
interpret each element of X$.
If you are using Listing 2, make this
change:
110 FOR A=P4 TO P4+18
P4 is P3 + 62.
Figure 5 is the annotated hex listing for
Part 4. Figure 5a is the decimal listing.
Part 4 contains the code 7Eh (126d) which
will not display in a REM statement.
Neither will the next five characters, but
they do exist in the REM statement and
will run in a machine language routine.
Remember that using the EDIT key on
2 REM or moving 1 REM can cause you
PREMIUM DATA CASSETTES
*MANUFACTURERS WHOLESALE PRICES*
10-PACK
100-PACK 500-PACK
.59EA. .54 EA.
by Michael C. Hoffman
ja
You're the captain of an experimental space ship that can't be detected by enemy
ships.
Suddenly, an electrical fire is reported by the navigator. Itis quickly extinguished, but
the damage is severe.
The auto-pilot, main engine and laser gun won't respond, so you switch to manual
and auxiliary thrusters. The only working controls are the rotate right and left
thrusters. Checking the status monitor indicates only 30 Ibs of fuel is left.
During the crisis, your ship wandered into a meteor shower. You must maneuver left
or right to avoid hitting meteors and enemy ships.
Your new mission is to locate the fleet of friendly fuel ships and attempt to land on
one in order to refuel and continue the journey.
FEATURES:
Rotate right and left thrusters. 2 types of meteors. 2 types of enemy ships. 1
fleet of friendly fuel ships. 10,000 bonus points. Bonus game. 30 Ibs bonus
fuel. Status monitor for fuel and score (Real-time). Auto-run. Many
prompts. Manual replay. Moving graphics. Flicker-free. Moving graphic
title for the beginning and end of program.
CONTROLS: Press key #
ETN Gs lien as Ses eats lato svaldndcavanevaseizuanchoynceotecse
Paani Ls PAE A EET :
Status monitor for fuel left ANd score .......... cee eeeeeeeteeeeeeeeees fa]
Manual replay (When prompt asks if you want to play
anotmhorgame yes GUO 1) mirs: oerien e eveen etea eitades Y (ENTER)
(or) N (ENTER)
As you steer past thè meteors and enemy ships, you accumulate valuable points.
Try to land on a fuel ship to refuel (30 Ibs bonus fuel) and continue into hyperspace.
(10,000 bonus points will be added to your current score and to the new game
already in progress.)
“LOST IN SPACE”’ is prerecorded on a computer certified cassette tape,
in a protective see through ABS plastic case. GUARANTEED LOADING. Included is
our detailed instruction manual.
(Filename LISTA kh Meee eee Aa a shoes and.” e a r aa $11.95
(Please add $1.50 for shipping and handling. NJ residents 5% tax.)
(Dealers wanted.) M.C.HOFFMAN CO., PO BOX 117, OAKLAND, NJ 07436
C-20 .66 61
C-60 .89 .83
C-90 $1.29 $1.21
SOFTWARE PUBLISHERS —LET ACTS AUDIO
PROVIDE YOU WITH ALL YOUR CASSETTE
PRODUCTION REQUIREMENTS.
CUSTOM SOFTWARE DUPLICATION — FOR
SINCLAIR, TRS-80, APPLE, ATARI — GUAR-
ANTEED TO LOAD.
ACTS AUDIO ALSO SELLS HIGH-SPEED
DUPLICATION EQUIPMENT MODIFIED FOR
SOFTWARE DUPLICATION.
ACTS AUDIO, INC.
70 WEST ILLIANA AVE.,
ORLANDO, FL. 32806
(305) 423-0338
Pay by check, Mastercharge or Visa. Add $5 for
C.O.D. shipments. Florida residents add 5% sales
tax. No shipping to P.O. Boxes. Shipping by
U.P.S. to continental USA only. For shipping and
handling add $2 for 10 pack, $5 for 100 aE $12
for 500 pack.
SYNC Magazine
TS1000-ZX81
OWNERS
RRANIT
Jir
WIN $20,000 or more
KRAKIT™ is an adventure and a treasure hunt for the ZX81
and TS1000 computers. The bank account and prize money
actually exist. Be the first to crack the puzzle and the prize
is yours. Only one prize will be awarded.
SOLVE 12 CLUES LIKE THIS!
Where it all began. Where the torch was first lit.
Where muscles and sinews strain. Where our heros
win acclaim. Where the symbols hold the key.
KRAKIT™ consists of 12 clues on a ready-to-run ZX81 or TS1000
cassette tape (16k RAM). The answer to each clue is the name of a
country, a city or town, and a number. If you are the first qualified
entrant to solve all 12 clues and declared the winner, you receive two
tickets to the city of the secret KRAKIT™ vault location. When you arrive
at that location, a check for a minimum amount of $20,000.00 (U.S.) will
be presented to you. The amount of the prize money is augmented weekly.
TS 1000- 2X81
1. The first qualified entrant to be
confirmed by the judges to have
completed all the clues correctly is the
winner.
2. There will be one winner only.
3. No persons connected to
International Publishing & Software Inc.
or their families are eligible to enter
5. Due to the confidential nature of
KRAKIT™ we regret we are unable to
enter into any individual
correspondence. All the required
information, including how to claim the
prize, is on the computer tape.
6. The winner will be required to sign an
affidavit of compliance with these rules.
KRAKIT ”
4. This offer is not valid where Y. INTERNATIONAL PUBLISHING & SOFTWARE INC.
prohibited by law. P.O. BOX 1654, BUFFALO, N.Y. 14216
ommnamennmnnmnnmmannnmnnENn nme
a @ q Maito: &
a Y, INTERNATIONAL PUBLISHING & SOFTWARE INC. &
re P.O. BOX 1654, BUFFALO, N.Y. 14216 X
$ Please send___ copies of KRAKIT™ Please print: -
E at $19.95 plus $1.50 shipping. 5
t Total enclosed is L] check Name 3
E money order
g ; Address Z
Charge to L] visa L | Mastercard g
; Number ii ioe eo State a
7 E R Stqnatute 2. Zip =
|5 Allow 2 weeks for personal checks. g
Pp pee pe py yy ee a a ds a es a ho on on a a dT aT aS
Dealer inquiries welcome.
other FINE
PRODUCTS
from
INTERNATIONAL
PUBLISHING Y
3952 Chesswood Drive
Downsview, Ontario, Canada M3J 2W6
e GAMES e GAMES e GAMES e
MARINE RESCUE: fast action underwater
TANK TRAP: destroy enemy planes & land
mines
GALAXY INVADERS: repel fleets of invaders
INVADERS: the classic computer game
ZX SCRAMBLE: a fast-moving space game
CROWN & SCEPTER: a medieval adventure
GALACTIC COMMANDO: a space war
adventure
TRACK DOWN: an adventure in the old west
BLACKJACK: as played in Vegas
SLOTS: beat the one-armed bandits
ZX CHESS |: 6 levels: black or white: save
games
ZX CHESS II: chess master: 7 levels: champion
rated
1K CHESS: 1 level: no castling or en-passant
PLANET OF FEAR: find your stolen spaceship
INCA CURSE: get gold out of the temple
SHIP OF DEATH: free your ship from an alien
cruiser
NANTIR RAIDERS: arcade game: 4 waves of
attackers
GOBBLE MAN: famous arcade game: chase
ghosts in a maze
1K GAMES: 11 games for unexpanded
ZX81/TS1000
SHOOT OUT: how fast are you “on the draw’’
FAMILY EDUCATION & HEALTH
& ENTERTAINMENT
WEIGHT CONTROL: a personalized weight
loss program*
CONSTELLATION: your computer is your
telescope*
SOLAR SYSTEM FILE: a databank on the
solar system*
BIORHYTHMS: plot your physical, emotional,
intellectual cycles*
BOOK OF DAYS: facts, trivia, birthdays in a
datafile*
PERSONAL RECORDS
STORAGE SYSTEM: create a personal
datafile*
FLASHCARD: memory aid, learning aid, testing
device
MOVIE HANGMAN: guess the movie; beat the
Hangman
PROGRAMMING AIDS
Z-AID 1.0: a machine code programming aid
ZX BUG: for debugging, editing & running
machine codes
ZX ASSEMBLER: powerful tool for machine
code programs
TOOLKIT: add 9 commands to basic; including
renumber
ZX FORTH: ease of basic with machine code
speed*
* comes complete with a detailed guide
DEALER ENQUIRIES INVITED.
Figure 5. Interpreter (Hex).
Hex Code
OP Statement
21 06 OO LD HL NN
19 ADD HL DE
ERB EX DE HL
pA BO LD BN
21 82 40 LD HL NN
1A LD A (DE)
85 ADD AL
bF LD L A
7E LD A (HL)
2 LD(DE) A
tS INC- DE
10 F5 DJ NZ
C9 RET .
Comment
; X$ disp
3 X$ addr
s X$ addr in DE
: X$ loop cntr
; IREM addr
; X$ coded byte
= increment HL by
: X$ chr code
: get graphics chr
s put into X$
» next X$ addr
oA 1. 0D
s return to BASIC
Figure 5a. Interpreter (Decimal).
ao 26
6 1335
Q Eri
2u 126
200 18
6 19
128 16
33 245
130 201
64
to lose the last six bytes of the machine
code. You will have to PEEK to see if
they are there. The program will crash if
they are not. If you do lose them, just
POKE them back.
Using the Program
The whole program is 141 bytes long,
and, if you are careful, there is no reason
you cannot load the whole thing at once.
____ Listing 5. Four Times Square Billboard. ___
100 PRINT “ENTER MESSAGE"
102 RADH I$
106 LET I$=I$+t“ FEE `
TIO FOR Fsi TO CEMIS
1209 LET RA€=H&R(2 To 5 +I$iF)}?
130 LET L=YSR X
240 PRINT AT 16.6:
150 PAUSE 26
152 POKE 16437.255
160 NENT F
278 GOTO 1138
I described it in four parts to show you
how each part worked and how to
troubleshoot. Turn now to Listing 3. The
address of the first byte of the body of the
program is 16540 because there are a few
spare bytes in the 1 REM statement. If
yours is different, do not change your
program to use 16540. Change X to equal
your address.
The easiest application is to add the
short routine in Listing 4 to Listing 3.
After entering the program and running
it, I think you can start to appreciate its
speed. Still you could do the same thing
with a Basic subroutine. It would just run
a little slower.
Now try Listing 5. If you have the
improved ROM you can omit line $52) if
you have SLOW mode, you can omit lines
150 and 152. After you have entered and
run this listing, you will see how versatile
the program can be. Now try that with a
Basic subroutine. The machine code
makes all the difference. It is fast enough
for repeated use without slowing down
the display. Another idea is to modify the
1 REM statement to create special print,
such as segmented characters. With a few
extra basic steps, you could even perform
a double expansion, which would display
two 16x16 characters.
It is time to use your imagination. You
may already have several programs that
would benefit from large letters, perhaps
an educational program that rewards cor-
rect answers with a big “ATTA BOY!”
If you have never used machine code
before, go ahead and get your feet wet
with this one. You will find that your
programs are more user-friendly, and that
this machine code subroutine is so easy
to use. It could be called programmer-
friendly.
I would like to hear of your trials and
tribulations with this program, care of
SYNC Magazine. a”
1982 TAX RETURN HELPER
A set of 7 ZX81/TIMEX programs (16K RAM) for the 1982 tax
return. Data is interactively entered/examined/modified and the
results can be immediately seen. The programs perform all
computations and even detect some of your errors. Like in an
electronic spreadsheet, when you make a change, all the lines
affected by it are updated on the spot. So you can explore “what if”
alternatives. Or you can add a deduction remembered at the last
moment and get that entire form corrected without effort. The
forms can be printed and/or saved on tape for future use. Form
1040 and Schedules A, B, C, C1/C2, D and E are featured.
The 1982 edition will be available in January 1983. The cost - $14 - is
tax deductible. (Only $7 for the buyers of the 1981 edition.)
ARTIST
ARTIST is a ZX81/TIMEX (16K RAM) program that, with more
than 30 commands helps create drawings/paintings on screen.
Features include: 4 modes (DRAW, ERASE, MOVE with user
defined step, PAINT with user defined brush); 8 directions of
movement in every mode; background fill; position save and recall;
easy graphic specification of lines, circles and half-circles; ability to
define, store and recreate complex patterns anywhere on the
screen; ability to save the artwork on tape or print it.
ARTIST is very easy to learn and use. 4-year-old kids master its
basic commands in minutes. Most commands require pressing of
only one key (no enter needed) and numeric coordinates are not
necessary. No knowledge of Basic is needed. At the same time,
advanced features support the creativity of sophisticated users,
which can define their own commands; for them, ARTIST offers an
extensible graphic command language. User defined commands
can be nested (even recursively) and are saved on tape.
Z X81
16K RAM
Cassette and instructions - $10 ($12 outside U.S.).
From: KSOFT, 845 Wellner Rd., Naperville, IL 60540
70
NEU! Fast Action Game of Skill
FURIOUS
ONLY $12.95
HIGHSCORE!
HIGHSPEED!
CHALLENGING!
s S aa
Send Check or Money Order for $12.95
Plus $1.50 for Shipping and Handling to:
DAEDALUS SOFTWARE
8449 Cozycroft
Canoga Park, California 91306
SYNC Magazine
from
VIRGO EIN bee
Scrambl
pawns
PHH
r
y
A
y P’
e Y
>
5
f
Lars
The high-speed arcade
game. Easily the fastest
available. 32 zones, with fivraryaade
thrust and altitude
controls. ONLY $7.95
Other great ZX games and add-ons
from Mikro-Gen: A/D Converter Board
Space Invaders Lets you connect analogue
| the best you can get, with joysticks to the ZX81 digital
ever-increasing rate of play inputs. Suitable for many other
applications, easy to connect-
Breakout and it improves RAM pack
\
\
Supplied on cassette.
with seven bat angles to make stability!
it really difficult ONLY $36.95
Bomber Joysticks
positively addictive Connect via our A/D Board-
makes your ZX81 a true
ZX Chess programmable games
machine
ONLY $18.95 EACH
Disassembler/Monitor
An absolute must when
learning machine code-
lets you enter and run your
The original- and still the best!
Sorcerer's Castle
takes you into a world of
magical adventure
Above games all supplied on cassette.
with library case own code
$7.95 each (ZX Chess $12.95) ONLY $7.95
Write for full details of the Mikro-Gen range of programs and add-ons,
available from local stockists or direct from the manufacturers (please make
cheques/PO’s payable to Mikro-Gen and add $1.90 postage for software,
$3.50 for hardware
Suppliers of Software to Sinclair
WING URUEN
24 Agar Crescent Bracknell Berks RG 12 2BK, England
Tel: Bracknell (0344) 27317
B Y RAJ LA
Unique Software _|
VIRTUOSO ...
a music synthesis program with ten octave range
at any tempo to accommodate songs up to 96 notes.
Recordable pulse waves generated at a mike jack.
Can be heard or amplified on any TV. Uses a single
BASIC instruction. SAVE YOUR SONGS! Hardware?
Any cassette recorder.
KALEIDOGRAPH . ..
enjoy kaleidoscopic simulation in a 22 x 22 pixel
display composed of randomly selected graphic
pixels with two axes and an exciting center of
symmetry.
Both for Timex Sinclair 1000; ZX80/81; 8K; ROM:
2K+; RAM computers. Each only $6.95 pp. Add $3.00
eXUSA
Quantity: Virtuoso Kaleidograph
Name:
Address:
City/State/Zip:
Remittance to: William Don Maples
688 Moore St., Lakewood, CO 80215
TS1000 AND ZX81 OWNERS
9 PROGRAMS: $9.95
BAR CHART, ETCH-A-SCREEN, INTEREST,
EXTENDED MEMORY NOT REQ’D!
SPELLING, CHECKBOOK. . . AND 15 MORE!
SEND CHECK OR MONEY ORDER
TO:
COMPUTHINK, INC.
P.O. Box 603
Hopkins, MN 55434
'VEGOTA #TS1000 [2x81
(CHECK ONE)
DESCRIPTION
PROGRAMS
2 CASSETTE $9.95 EA
20 PROGRAMS
MANUAL $13.95 EA
BEST BUY! BOTH $19.95 SET
SHIPPING AND HANDLING
TOTAL (MN RESIDENTS ADD)
5% SALES TAX)
SHIPPING LABEL — PLEASE PRINT!
AREE e eae ae
CRI ae a See 2 eo IP
SOUNDwithZX-81!
SOUND with ZX-81!
MAKE AMAZING SOUND EFFECTS WITH YOUR ZX-81
Bez Timex
= Sinclair
D
1000
$49.95 THE ZON X-81
* The ZON X-81 SOUND UNIT is completely self-contained and espe-
cially designed for use with the ZX-81. It just plugs in—no dismantl-
ing or soldering.
* No power pack, batteries, leads or other extras.
* Manual Volume Control on panel—ample volume from built-in loud-
speaker.
* Standard ZX-81—16K Rampack or printer can be plugged into ZON
X-81 Sound Unit without affecting normal ZX-81 operation.
* Huge range of possible sounds for games or: Music, Helicopters,
Sci-Fi, Space Invaders, Explosions, Gun-shots, Drums, Planes,
Lasers, Organs, Bells, Tunes, Chords, etc., or whatever you devise!
* 8 full octaves. Uses 3-channel sound chip giving programme control
of pitch, volume of tones and noise, all with envelope control.
* Easiiy added to existing games or programmes using a few simple
“BASIC” lines or machine code.
* No memory addresses used—!.0. mapped.
FULL Instructions with many examples of how to obtain effects and the
programmes, supplied. Fully Guaranteed.
Payment may be made by Bank Cheque or International Money Order in
U.S. $ or £ Sterling Payable to:
P.O. Box 6 ale |
Visa-Mastercard accepted
cal aie van Send account #
Se i 3182 with name & address
When I first got my ZX81 kit assem-
bled, I was all fired up and ready to learn
programming. I planned to buy books
with titles like “97 Ready-to-Run Games
in Basic” at ten for a dollar. They are
usually far from “ready-to-run,” but
debugging them is an excellent way to get
started with a new computer. Unfortu-
nately, programs that fit into 1K RAM
are relatively hard to find.
When the May/June issue of SYNC
arrived, some possibilities opened up with
“Space Warp” by Armando Fox. I
scanned the article, paying particular
attention to the last paragraph, which
described the clever way of storing the
graphics for the spaceship. Then I entered
Listing 1 according to the instructions.
POKEing the values listed in the article
went fine until the eleventh value (zero).
Suddenly, the screen went blank, and the
keyboard had no effect! I unplugged the
computer and started over, with the same
results.
A Mystery
Why can’t I set up the graphics as Mr.
Fox did? Looking at the article again, I
finally noticed that it was for the 4K
ROM.
Chuck Bonner, 145 Allen St., Norfolk, VA 23505.
November/December 1982
The Challenge x: a
We should be able to make this pro-
gram run in the ZX81. Let’s give it a try.
First, what is the difference between
4K Basic and 8K. Basic? Obviously, 8K
machines have something in memory
locations 16427 to 16441 which should
not be changed. Other than that, the
listing has things like “GO TO” and “GO
SUB” instead of “GOTO and “GOSUB”.
No problem. Also, the way random
factors are entered in lines 200, 210, 260,
and 660 of Listing 2 is different from the
way it appears in the ZX8/1 BASIC Pro-
gramming manual. Will it work? Enter
200 LET F=F-W*RND(3)
No, it will not work. What about line 450?
IF S THEN GOSUB 600
Entering this line yields no syntax error,
so IF S THEN ... is a valid instruction.
Translating all the random factors into
8K Basic is an easy first step.
POKEing Problems
We will probably find other differences
as we proceed, but for now, back to the
original mystery. Is there something about
these values that, altogether, they cannot
be POKEd into the specified locations, or
is it only that one particular location
which cannot be POKEd to zero? Refer-
ring to Listing 1, and counting the values
8K ROM (4K ROM)
1K RAM
WARP 81:
Making a 4K Program
Run in 8K
Chuck Bonner
listed in the article, we can see that the
problem comes when we POKE 16437,0.
So, with no program in the computer, do
just that. After a couple of seconds, the
screen goes blank and the keyboard has
no effect. Why can’t we POKE 16437,0
on the Z X81 if Mr. Fox can on his Z X80?
The answer has to do with the ROM.
The ROM chip contains most of the infor-
mation which allows the microprocessor
to.communicate with “the outside world”
and vice versa. I say “most” because many
ROM subroutines use RAM as a “scratch-
pad.” Therefore, certain locations must
be left alone, or elso the computer will
not behave properly. 16437 is one of them.
If you have a listing of the ROM sub-
routines, and you are really clever, you
can use this glitch to make your computer
do some surprising tricks. For examples,
refer to any “Try This” program which
contains a POKE statement.
Are there any other “sacred cow” RAM
locations? Probably. What are they? If
you are curious, enter the program in
Listing 3. Save it on tape before you run
it. Running it must eventually cause the
program to crash, because eventually you
will POKE the memory locations which
contain the program. Watch the screen
for anything unusual. When it happens,
BREAK the program and remember the
last location displayed. LIST the program
(if possible) to see if you have destroyed
it. POKE the last location to 0 with no
program in the computer to see if it has
the same effect. To try more locations,
LOAD Listing 3 from tape and change
the first value of X in line 10 to the next
one after the location which caused the
program to crash. Watch for particularly
unusual responses from 16384 (whether
TA
or not the program is loaded) and 16398
(only if the program is loaded).
Meanwhile, back to “Space Warp.”
Since we cannot POKE 16437,0, the com-
puter probably cannot put a 61 there
(computer talk for “X”). In the article we
learn that Listing 1 substitutes the graph-
ics characters designated by the numbers
in the last paragraph of the article for the
fifteen X’s in line 1. If the X’s do not go
into locations 16427 to 16441, then where
do they go? To find out, enter the pro-
gram in Listing 1 below. Then add line 1
from Listing 1 for “Space Warp” and
delete line 40. This program will PEEK
every location in RAM (16384=16K; the
beginning of RAM). Watch the screen
until you see fifteen “61’s” in a row. If the
screen gets full (it will), hit CONT. Using
this program, we find our fifteen X’s in
locations 16514 through 16528. These
values of X must be used in line 40 of
Listing 1.
Now, if the graphics for our spaceship
are not saved in the place we were told,
we cannot get them out of that place |
either. Examining the program, we see
that the spaceship is drawn from the
PEEK in line 380. Change it to
PRINT CHR$ (PEEK (16513+N))
Additional Problems
There are four other little problems in
translating the program. The article says
that the Killer Satellite is represented by
a double asterisk. Where is the double
asterisk in the program? If we study
Listing 2 carefully, we can see how line
260 determines whether a Killer Satellite
is present, and line 440 prints it. Unfortu-
nately, on the ZX81 this will represent
the Killer Satellite as “LLIST” rather than
a double asterisk (see Appendix A of the
ZX81 BASIC Programming manual). So,
we have to substitute 216 for the 226 in
line 260.
Now, consider the odds of a Killer
Satellite being present. In 8K Basic,
RND*6 may equal (almost) any number
between 0 and 6 including 0 but excluding
6 (see Ch. 5, p. 24). Therefore, you will
absolutely never get a Killer Satellite. 4K
Basic has a different interpretation of
RND as well as a different syntax. Even if
we change line 260 to
IF RND*6=5...
the odds are 65,536 to 1 against getting a
Killer Satellite. That is too easy. For 8K
Basic, line 260 should read
IF RND*6 5 THEN LET S=216
The third little problem is the status
report in line 300. Apparently, 4K Basic
gives a four-column format. in PRINT
statements with commas. Our 8K Basic
gives a two-column format. Change line
300 to read:
PRINT “WARP”, “FUEL”,
“VELOC: “DIST? V, D
Now we have a neat two-column status
W, F;
report.
The fourth little problem is a typo-
graphical error. Both line 390 and line
4K ROM
Listing 1: Setting the Variables.
1 REM XXXXXXXXXAXAXXXX G4 EX 2 9 40 FOR X=16427 TO 16441
10 LET D=1000 So TNE AF
20 LET D2=0 6&0: “FORE. Xe. E
20 LET F=1lo0o 7O NEXT X
4K ROM
Listing 2: Space Warp.
100 FRINT AWARE S 370 FOR -NSA TO -xX+9
110 INFUT W 380 FRINT CHR (FEERK (16426+N)) 5
120 IF W?15 OR Wei THEN GO TQ So NE XT A
110 400 FRINT
120 ERINE “BIReC TION?" 41O LET X=X+4
140 INFUT D$ 420 NEXT X
150 IF NOT (D#="F" OR DS="R") T 425 FOR L=1 TO 25
HEN GO TO 140
200 LET F=F-WXRND(3)
210 LET V=(W/2) * (RND (5) +5)
220 LET Di=Vk(W/2)
230 IF D$="R" THEN LET Di=-Di
240 LET D=D-D1
250 LET S=0
260 IF RND(6)=6 THEN LET S=226
270 LET D2=D2+D1
280 IF DJO THEN LET D=0
290 CLS
300 FRINT "WARP", "FUEL",
Ce ADISTA Wyo. Vv. D
320 FRINT
320 FOR X= -4 TO 6
EN ELG
340 FOR J=i TO D2740
200 PRINT "#"5
260 NEXT J
74
420 FRINT
425 NEXT L
440 FRINT CHRE (5)
450 IF S THEN GO SUB 600
“Sets
460 IF Fei THEN STOF
470 IF DéZi THEN GO TO 500
480 GO TO 100
500 PRINT , “HOME FREE"
510 STOF
600 IF W>7 THEN GO TO 660
610 FRINT "RETREAT?"
620 INFUT D$
630 IF D$="N" THEN GO TO 660
640 LET D=D+Vx(W/2)
645 LET F=F-W
650 GO TO 670
660 LET F=F-(RND(S) x3+W)
670 RETURN
420 in the spaceship drawing routine read
“NEXT X”, and there is no “NEXT N”
for line 370. Using the information in Ch.
12, p. 63, it is easy to figure out that line
390 should be the “NEXT N”.
The program is now fully corrected for
8K Basic. Note: before we are through,
we will cover one more little problem
after we run the program. |
1K RAM on the 8K ROM
Now just try to enter it on your ZX81
or Timex/Sinclair 1000. You will run out
of memory in the middle of line 630, yet it
runs in 1K RAM with the 4K ROM. Why
will it not run on the 8K ROM machine
which also has 1K RAM?
This is another aspect of the first big
problem we had. Certain RAM locations
are used as scratchpad by the ROM. More
RAM scratchpad is required by 8K ROM
than 4K ROM (this is only logical). There-
fore, the 8K ROM machine with 1K RAM
actually has much less user RAM than 4K
ROM ZX80 with 1K RAM. If you have
an extension memory pack, or have 2K
RAM onboard, you can probably run the
program as is. If you do not and if you are
like me, you are determined to make this
program run in 1K RAM on the 8K ROM
machine. So let’s get busy!
Memory Conserving Rules
Here are some general rules for con-
serving memory:
1) Eliminate REM statements.
2) Abbreviate in PRINT statements.
3) Eliminate any repetition of mathe-
matical expressions.
4) Do not make the program enforce
the rules of a game. Trust the player to
stay within limits.
5) Simplify as much as possible.
Now let’s apply these rules to “Space
Warp.”
First, the only REM statement is the
one we need to hold the spaceship graph-
ics. So we will keep it (for now).
Next, we have the PRINT statements.
We can abbreviate some of them without
making them too hard to understand. In
line 130 PRINT “F/R?” is enough. In line
500 PRINT, “HOME”.
Now let’s look for repetition of mathe-
matical expressions. If a variable is set as
equal to a certain expression, all repeti-
tions of that expression can be replaced
by the variable. For example; in line 220,
D1 is set equal to V * (W/2). Therefore,
line 640 can read
LET D=D+D1
and still mean exactly the same thing. If
there is an expression which is repeated
often, it might be worthwhile adding the
variable to the program.
Is the program is enforcing the rules of
the game? Look at line 120. This can be
deleted if we remember that our warp
must be between 1 and 15. By the same
SYNC Magazine
GRAB BAG
PROGRAM
SALE!
We're overstocked on 16K programs so
were going to sell them cheap. These
are all good quality, name brand
programs.
We have games, simulations, program-
mers aids, word processors, music
composers, data base, etc.
Why not try your luck and see what you
get?
$8.50 for 1
$16.50 for 2
$24.50 for 3
Add $1.50 for shipping and handling.
If you write
GOOD
Timex/Sinclair
PROGRAMS
or
You build
QUALITY
HARDWARE
or
You are a
dealer
then
We’d like to hear from you.
Free Hardware and Software
catalogs. (specify)
Sinclair Place
Ot kif
DOES YOUR RAM pack have that dreaded
disease — The Wobbles?
DO YOU have problems with your computer
suddenly becoming absentminded, berserk,
obstinate, rude and unruly due to poor
contact?
DO YOU find yourself screaming at the kids,
your Spouse, your pets, the world, because
you fear someone may bump the table?
Sinclair Place has the answer — Che Lip!
The Lip is a feature of the Audio Computers
16K RAM pack. The Lip fits over the upper
edge of your TS1000 or ZX81 to lock on
and eliminate wobble and connector pro-
blems. Not only is The Lip a superior per-
former; it is an inexpensive solution to The
Wobbles.
Money back guarantee if not satisfied.
$48.00 plus $1.50 shipping and handling.
Yes, send me C/e Lip. Enclosed is $48.00 +
$1.50 shipping and handling. |
NAME
STREET
CITY
Stee ee
Send me programs.
P.O. Box 2288 © Redmond, WA 98052
token, we can eliminate line 150 if we
remember that the direction must always.
be either “F” or “R”. Our abbreviation in
line 130 makes that rather clear anyway.
After all this abbreviation and contrac-
tion of the program, we still run out of
Listing 3. Finding the Sacred Cows.
1@ Ene X=163S90 TO 17465
30 PRINT PEEK X.
40 POKE x,@
XT X
Listing 4. Warp 81.
18@ LET D=1906
Ta LET C2-20
30 L F=i09
100 PRINT “WARP?
11@ INPUT
200 LET F=F-NeR
ND #2
210 LET U= iŅN72) $i iRND 5) +53
{Wea}
250 LET S=8
2650 IF RNOs#6>5 THEN LET 5=216
278 ns D2=D2+D1
300 PRINT “WARP. “FUELS. Wa Fa “VE
i “DIST .V.D
PRINT
380 PRINT TAB D2740: “mle”
44@ PRINT TAB 2@;CHR¢ $
450 IF S THEN GOSUB 500
460 IF Fc<i THEN STOP
470 IF Dci THEN GOTO S00
TO 100
ENT “HOME™
6@@ IF >? THEN GOTO 660
“RETREAT ?"
$
' THEN GOTO 860
Dil
E70 RETURN
memory on line 650. Is there anything we
can simplify? Look at the routine for
drawing and positioning the spaceship. It
takes up over 105 bytes in 11 lines!. If we
can simplify this, it will be well worth-
while.
To begin with, let’s take a look at the
original ship. Enter line 1 and lines 40
through 70. POKE in the numbers listed
in the article and delete lines 40 through
70. Now enter lines 330 and 370 through
420. RUN this program. Apparently,
either Mr. Fox has an unusual notion of
what a spaceship should look like, or the
numbers we POKEd into line 1 do not
designate the same graphics characters
on the ZX81 as on the ZX80. We must
choose to change (and simplify) the space-
ship, or to boldly go where no man has
gone before in a John Deere wheat com-
bine. If you do not think it looks like a
combine, add these lines:
430 PRINT AT 2,4; “Y” (graphics)
440 PRINT AT 2,4; “T” (graphics)
450 GOTO 430
If you do not want to harvest at warp
15, I can let you have a small economy-
size flying saucer which was owned by a
little old lady who flew it to Titan on
Saturdays. It can be yours for only 13
bytes. Delete line 1 and lines 330 through
420. Enter a new line 330:
PRINT TAB D2/40; “DGD” (graphics)
Our spaceship is now smaller, requires
much less memory, and looks more like a
spaceship. Unfortunately, when we RUN
the program, we run out of memory
before we even see the spaceship. So we
must simplify a little more.
That memory-saving way to draw the
spaceship gives me an idea. Why not use
the same technique for the Killer Satel-
lite? We cannot simply PRINT “**”,
because then we would see the Killer
Satellite whether or not line 260 said it
was there. We can, however, delete lines
425 through 435, and change line 440 to
read
PRINT TAB 20; CHR$ S
This gets us a little closer, but not
enough. Perhaps we can simplify some-
thing in the 600 subroutine. Let us look at
what happens when we are asked
“RETREAT?” If we answer “Y”, then we
retreat automatically. There is never any
need to input “R” in line 140. Therefore,
we can eliminate all references to D$
without affecting the game one bit. Delete
lines 130, 140, and 230.
The program still will not run so let’s
simplify a little more. Again in the 600
subroutine, if we retreat, we lose a fixed
number of fuel units (equal to our warp),
but, if we charge past the Killer Satellite,
the computer uses a rather complex
formula to determine how much fuel we
BART TRUEHEART, WHERE ARE YOU?
In the Space Opera series games you are Bart Trueheart, the greatest genius hero of Earth. With your companions, the Kindly Old Professor (KOP) and his
Beautiful Young Daughter (BYD) you travel the spaceways in your faithful ship, The Rover of Space.
But this idyll cannot last . . . you have enemies. The cunning Little Green Men (LGM’s) of By-Orl and the brutish Bug Eye Monsters (BEM’s) of Milkorf have
joined forces to form THE MALTRAXIAN ALLIANCE.
Earth is depending on you to thwart their evil plans.
SO1: THE MALTRAXIANS ATTACK
You, as Bart Trueheart, must stop the fleet of the Maltraxian Alliance before it can concentrate and attack Earth. Time is limited and so are your resources.
You have only your faithful ship, The Rover of Space and whatever you can capture from the enemy.
Ten levels of play.
$9.50
SO2: RAID ON COLONY ALPHA
CAN YOU SAVE THE EARTH?
BEM’s have entered the life support dome of Earth’s first interstellar colony. You, Captain Trueheart, must lead the few space marines stationed on Alpha. If
the invaders are not repelled, Earth's colonization programme will end.
Fighting under the dome, you must clear the colony of invaders . . . but be careful, if the dome is pierced no one will survive.
$9.50
SOA1: DETENTION STATION INTRAG
“ADVENTURE” STYLE GAMES:
The professor's Beautiful Young Daughter has been captured by the Maltraxians and imprisoned in the dreaded Detention Station Intrag.
You must enter this orbital prison, find BYD and free her. Then, most difficult of all, you must escape with her from the alerted station.
This is no task for the fainthearted; only you, Bart Trueheart, could even consider such a dangerous rescue.
$13.95
SOA2: ESCAPE FROM THE DARK SYSTEM
CAN EVEN BART TRUEHEART SUCCEED?
You, Bart Trueheart, along with the Kindly Old Professor and his Beautiful Young Daughter have been marooned in a space-lifeboat in the fearsome Dark
System.
Your only hope is to boldly land where no man has landed before . . . on Nekros, a LGM colony planet and to steal one of their starships.
You must evade surveillance satellites, police, security and military forces while finding a ship to take you home. There is little chance of success but what
else can you do?
$13.95
All games are for ZX81 16KRAM
All games include cassette instructions and designer's notes.
Add 10% for postage and handling.
Send cheque or money order to:
76
TURNER, ELCY & COM.,
P.O. Box 395
Port Huron, MI
SYNC Magazine
4 G
_ MAKE YOUR SINCLAIR
A PORTABLE COMPUTER SYSTEM
MAC (MOHR & Associates Corporation) Now Of-
fers You A Durable, High Impact ABS Plastic Brief-
case That Measures 1712” X 1214" X 42". Wired For
110-60HZ And Ready To Be Used!
You Merely Insert Your Sinclair Components (In-
cluding Printer) In the Preformed Cavities And
BINGO You Have A Portable Computer System.
The Briefcase Has Slots For Tapes, Coax Cable
And The TV Adapter.
$149.95 Includes Shipping & Handling.
Kansas Residents add 3% Sales Tax.
TO ORDER
SEND CHECK OR MONEY ORDER
MOHR & ASSOCIATES CORP.
645 N. Baltimore
_ Derby, KS 67037
(316) 788-1526/788-3165
MC/VISA ACCEPTED
ANALYSIS
STOCK SELECTION GUIDANCE
Now Available! Fundamental Stock Analysis
No HOCUS POCUS Charting involved! Wo requirement to update data
daily, weekly or even monthly! With ANALYSIS end your 16K ZX-
81/TS-1000 you can make sound BUY/HOLD/SELL investment decisions
at your convenience. ANALYSIS uses information readily avail-
able in your newspaper and at your local library. ANALYSIS and
your ZX-81/TS-1000 provide you with a decision support tool
equivalent to those used by professional investment advisors.
Fundamental Analysis centers about the premise that a
security's price performance is dependent upon its expected fu-
ture earnings growth. ANALYSIS projects compounded earnings
growth based on historical data using LINEAR REGRESSION tech-
niques. A security's present price is compared to price ranges
based on projected earnings. An Upward/Downward movement ratio
as well as a BUY/HOLD/SELL recommendation is provided as out-
put.
YOU CANNOT AFFORD TO BE WITHOUT THIS TOOL! (Tape and
Tutorial $17.95).
PORTFOLIO
Investment Portfolio Performance Analysis,
File Management Capabilities with your ZX-81/TS-1000 (16K)
PORTFOLIO provides a powerful tool that transforms your 16K ZX-
81/TS-1000 into a sophisticated Investment Deta Bank. Track
stocks, bonds, mutual funds. Maintain accurate records of f
shares, cost, and set selling price targets. Tracks up to 50
securities. MENU-driven record management capabilities to ADD,
CHANGE, DELETE or DISPLAY selected records. Automatically list
the entire file, one record at a time, viewing tablesus of
security attributes including value, cost and percentage gain.
MENU-driven file management capabilities allaw you to input cur-
rent market prices and recalculate overall portfolio performance
and individual security performance as well. Save and Restore
file contents to and from cassette.
A MUST for any ZX-81/TS-1000 owner who maintains an invest-
ment portfolio. (Tape and Tutorial $15.95)
Send check , money order to:
ORIONS'S BELT Enterprises
807 N. Fairway Road
Glenside, PA 19038
(Add $1.00 postage and handling)
ER OL LR ae, or ae arte ae eat aan cacti spin E N cas tama Paka YC
THE EXPLORER’S
GUIDE TO THE
2X81
If you have ZX81 then you need this
book (120 Pages).
1K and 16K Programs.
Games and Application.
RAM and I/O Circuits.
Programming Hints
ROM Routines.
$11 from:
TIME DATA
3 - Waldon Road
Califon, N.J. 07830
Enclosed
Name
Address
a anes
Check/M.O.
=. en an a an an ap am an am an an am an aa am ewe ee we eee aÀ
Are you ready to kick
the arcade game habit?
Are you frustrated by
adventure games that
wear you out just
entering your moves?
THEN TRY THIS ONE!!
You are the STAR HUNTER. You are the
only one who can prevent a galactic disaster.
You've been hired to find an artifact of
fantastic importance. The fate of an entire
interstellar empire depends on your success
or failure. You must traverse many locations
on several worlds, each in a different star
system. You are alone and you start out
unarmed. On top of all of this, your star-
jumps are accomplished with matter-transfer
booths--a most unreliable and therefore
dangerous method of travel. The odds against
survival and/or success are rather high.
This adventure requires 16K RAM/8KROM
and can be loaded into the ZX-81 or the
TIMEX SINCLAIR 1000.
STAR HUNTER is both easy and fast to
play, but it does require the use of your
other computer....THE ONE YOU CARRY AROUND
BETWEEN YOUR EARS!!!
Star Hunter
Is different-
-It plays fast
‘Its user friendly
*Its all in basic
And its only $9.95
Send $9.95 per tape to:
Zebra X-Ray Software
Box 585
Chattanooga,Tn. 37401
lose. This formula should be random to
keep the game adventurous; there must
be a chance of coming out ahead by
daring. But it really does not have to be
so complicated. Change line 660 to read
LET F=F-RND*W
Now the fuel taken by the Killer Satellite
depends on how fast we are going, and on
WARP FUEL
3 S6.905854
-10.235081
liia
VELOC
22 . 358513
HOME
how lucky we are. However, since RND
is always less than 1, we will always come
out ahead by daring. Where is the thrill in
a sure thing? Change line 645 to read
LET F=F-W/2
Now it is a toss-up whether retreating will
be better or not.
Try to RUN the program now. We are
making progress, but we are not finished
yet. Take a look at line 280. What good is
it? It ensures that our “Status Report”
will never indicate that we have passed
home base. Line 470 will stop the game if
we pass home base. If it is a choice be-
tween not playing the game and seeing a
negative distance, I will just delete line
280.
Halleluiah! It works!
Now play the game a few times, How
many did you win? None? Why not? Even
without Killer Satellites in the program,
you always run out of fuel. This goes
back to the differences in the way random
factors are handled in the 4K and the 8K
machines. We could change line 30 to
give ourselves more fuel, but 100 is nice
to use. The other solution is to change
line 200 to change the rate of fuel con-
sumption. If it reads
LET F=F-W*RND*2
we have a game which is not only play-
able, but winnable.
Conclusion
Many of the lessons we have learned
here are applicable to other programs,
too. Any short program you find in a
book or magazine, whether for the ZX80
or any other small computer, can usually
be translated into 8K Basic. Watch for
integer Basics (4K Basic is one) where all
fractional numbers are rounded off.
Watch for PRINT AT, PRINT TAB,
and PLOT statements. They will never be
the same on two different computers.
However, they can be used if you know
where they should be on the screen and if
you use the appropriate values for the
ZX81.
When you have to shorten a program,
which will be often, follow the same gen-
eral procedure we used here. Be sus-
picious of long mathematical formulas
and long program lines. Try to figure out
why the person who originally wrote the
program used each line, and you may
find a shorter way to do it. a"
From “Space Warp” by Armando Fox
(SYNC 2:3)
This program runs in 1K, but it must be
entered in two parts. The first part is the
“set variables” section shown in Listing 1.
Enter this short program and RUN. Enter
the following values to be POKEd to the
REM statement in line 1: 0, 3, 10,0, 0, 132,
128, 150, 139; 10, 0, 132, 3,133;6. Then hit
LIST. Line 1 will look like a jumble of
graphics symbols; these draw the ship.
Now delete lines 40 through 70 (not 1
through 30) and continue by entering the
main program in Listing 2. To run the
program, simply type RUN; since the
graphics are stored as a REM statement,
there is not much that can cause these
variables to be cleared, except for NEW.
Fa
INCREASE YOUR
ZX81 PROGRAMS
WITH INFINITY
4 K or more
Tari PRB Bk MA S- eee
BOUNCY Entrapped by the mad scientist, Count Von
Der Bouncy, it is up to you to fight off his bizarre
creations known as snogel balls and try to regain TO "RE S/ RS OL ERG
your freedom.
an SEND STAMPED &
NIGHT DRIVER Test your driving skills on a desert
road. Through difficult turns and blinding curves,
find out how good you really are.
So Bel P= AD Re ED
$7.95"
CASINO/STOCKMARKET Now you can play the slot
machines, Keno, roulette, blackjack, and more right
in your own living room/then see how well you can YAGSEE (Deot C)
deal in the stock market. Be a millionaire in one night.
$9.95*
MISSILE STRIKE Defend against enemy missiles &
satellites seeking to destroy innocent cities. You are the
commander of a land-based missile defence center. VILS- RS- BURG
The fate of the world lies in your hands.
ENVELOPE TO
POBTS 5
7-95 MIC 40097
*(All orders should include $1 for postage and handling. Out
of the U.S., include $2 for postage and handling.)
California residents, please add 612% sales tax.
Infinity Research Development
845 Via de la Paz, Suite A120 í )
Los Angeles, Ca. 90272
78 SYNC Magazine
Get the most from your SINCLAIR
with these practical, pr
m)
The ZX81
Companion
* Real Time Graphics
* {NIONS ian Pr ing
ek tignal Applications
* Monitor Listing
by Robert Maunder
Creative Computing Preas
The ZX81 Companion
by Bob Maunder
The ZX81 Companion follows the same
format as the very popular ZX80
Companion, and assists the ZX81 user
in four applications areas: graphics,
information retrieval, education and
games. This practical guide contains
scores of fully documented short rou-
tines plus complete programs and a dis-
assembled listing of the ZX81 ROM
Monitor. “Thoughtfully written, detailed,
and illustrated with meaningful pro-
grams.”—MUSE
5'2"x8", 132 pages. #17P $9.95 ($2.00)
a
Please send books listed below:
Postage and handling charges appear
in parentheses ( ) next to price of
book.
Outside U.S.A. add $3.00 per order—
shipped airmail only.
Getting
Acquainted
With Your
ZX81
Third Edition
More than 80 Programs
by Tim Hartnell
Creative Computing Preas
Getting Acquainted With
Your ZX81
by Tim Hartnell
This informative volume for the new
ZX81 user contains more than 70 pro-
grams to help the reader get the most
from his Sinclair computer. Game
programs include Checkers, Alien
Imploders, Blastermind, Moon Lander,
Breakout, Star Burst and Derby Day. The
book also shows programs for cascad-
ing sine waves, plotting graphs and
tables, data sorting, equation solving,
plus the use of PLOT, SCROLL, PRINT,
TAB, PEEK, POKE and much more!
5'2"x8", 120 pages. #15Y $9.95 ($2.00)
ogram-filled books from Sync!
The Gateway Guide to the
ZX81 and ZX80 |
by Mark Charlton
The Gateway Guide is a practical pro-
gramming manual for the beginner that
furnishes over 70 fully documented pro-
grams. The majority of the programs
have been written for easy conversion
from machine to machine (ZX81, 4K
ZX80 or 1K ZX80). The Gateway Guide
describes each function and statement,
illustrates it with a demonstration rou-
tine or program, and combines it with
previously discussed material to help
you understand your computer.
5'%2"x8", 172 pages. #160 $9.95 ($2.00)
Computers for Kids (Sinclair Edition) by Sally Larsen
This new edition of Computers for Kids is written specifically to introduce
children aged 8 to 13 to the ZX81. The book requires no previous knowl-
edge of algebra, variables or computers, and it enables a youngster to
program a ZX81 in less than an hour. There’s also a section for parents
and teachers. “Computers for Kids is the best material available for
introducing students to their new computer.”
—Donald T. Piele, Professor of Mathematics,
University of Wisconsin-Parkside.
812"x11", 56 pages. #12S $4.95 ($1.00)
All volumes are softbound.
O ENCLOSED IS $
Card No.
Signature
Print Name
Address
City/State/Zip
O Check here for FREE Creative Computing Catalog.
For faster service, PHONE TOLL FREE: 800-631-8112
(In NJ only: 201-540-0445)
Please refer to Dept. 0000 when ordering.
O CHARGE MY: O American Express O Visa O MasterCard
-uitt
Creative Computing Press Dept. NA7F, 39 East Hanover Ave., Morris Plains, NJ 07950
. NJ residents add 5% sales tax.
Exp. Date
T E E EE TOI i lca
8K ROM
16K RAM
Renumbering
Basic Statements
Allen H. Wolach
Many versions of Basic have a Re-
number utility. This is used to renumber
Basic statements starting at a specified
statement and spacing statements with a
given increment between the statements.
For example, if the starting number is 4
and the increment is 7, the lines in the
Basic program would go: 4, 11, 18, 25,
32, etc. Most programmers start their
programs at statement 10 and use incre-
ments of 10.
The advantages to a Renumber utility
should be readily apparent. Sometimes a
programmer uses all of the numbers be-
tween two Basic statements while modi-
fying a program. A Renumber utility
can be used to place unused statement
numbers between all statements. A com-
pleted program is also more attractive if
all of the statements are spaced at con-
stant increments.
A Sinclair Basic Renumber Program
This article presents two Basic renum-
bering programs in Sinclair Basic for the
8K ROM. The program in Program 1 is
a short program that can be used with
1K or 16K RAM. This program only re-
numbers the Basic statements. It does
not do anything about the destination
addresses for GOSUB and GOTO
keywords that must be changed after a
program is renumbered.
The program in Program 2 is a longer
program that also calculates the destina-
tion address for each GOTO and
GOSUB statement.
How to Use the Program
The user must select one of the two
programs and enter it on a cassette tape.
Whenever the user decides to work on a
new program, he first enters the renum-
ber program into his computer. During
the stages of program development the
renumber program can be saved on cas-
sette along with the user’s program. The
renumber programs occupy consecutive
Allen H. Wolach, Department of Psychology,
Illinois Institute of Technology, Chicago, IL
60616.
80
high statement numbers (9981 through
9999 for Program 1 and 9938 for Pro-
gram 2). This leaves almost all possible
Basic statement numbers for the pro-
gram that is being developed.
The variables in the renumber pro-
gram were selected so that it would be
very unlikely that the user would have
the same variable names in the program
that he is developing.
When the programmer decides to re-
number the program, he enters GOTO
9982 (shorter program) or GOTO 9939
(longer program). Both programs
prompt the user for the new starting
statement of the user program and the
increment between Basic statements.
The user can choose any number from 1
to 255 for the starting number and for
the increment between statements. After
these numbers are entered, both pro-
grams renumber the user’s program. If
the longer renumber program is used,
the program prints out a series of state-
ments such as
25 GOTO 50
30 GOSUB 5
40 GOTO *
The user must edit statement 25 in the
renumbered program so that the number
after GOTO is changed to 50. Statement
30 must be edited so that 5 occurs after
the GOSUB. The * in statement 40 indi-
cates that the GOTO in statement 40
was not followed by a number or that
the original number did not start imme-
diately after the GOTO. Note that the
renumber program is written so that it
does not get renumbered while the users
program is renumbered. In fact, any
statement number above 8959 will not
be renumbered.
After a program is completed and re-
numbered, the renumber program can
be deleted statement by statement. Once
the renumber program is deleted, a mod-
ified program cannot be renumbered by
the renumber program unless the user is
willing to reinsert the renumber pro-
gram by hand.
How Program 1 Works
Sinclair computers with the 8K ROM
start storing Basic statements at memory
location 16509. Each stored statement
starts with two bytes that contain the
number of the Basic statement. The first
of these two bytes, byte 16509 for the
first Basic statement, contains the low
portion of the statement number. Sup-
pose that one has a Basic program in the
computer. The command
PRINT PEEK 16509*256+ PEEK
16510
would print the decimal equivalent of
the first statement number.
The second two bytes in a program
statement, 16511 and 16512 for the first
program statement, contain a number
that is the length of the Basic statement
including the ENTER that occurred at
the end of the statement. These two
bytes have the high portion of the num-
ber in the higher byte (16512 for the first
Basic statement) and the lower portion
of the number in the lower byte (16511
for the first Basic statement).
Suppose that the variable III contains
the address of the first (high) byte of a
Basic statement (e.g., 16509). Location
Program 1. Renumber (1K).
= STOP
23962 LET JJ3J3=0
DAN PRINT “ENTER STARTING NUMBE
2984 INPUT GGG
3098S PRINT “ENTER INCREMENT“
39386 INPUT FFF
È LET IIZI=165089
29838 GOSUB 9991
agag LET III=III+PEEK (III+2) +PeE
ER CIIIS? 2S6 +4
29928 GOTO 3958
3991 IF PEEK I16>34 THEN STOP
39902 e a ty R GoTo 9995
` +
I
a396 POKE (TIT+4) . GGG
G G F
III = 1 contains the second byte of the
statement number. Numbers III = 2
and III = 3 are equal to the locations of
the low and high bytes of the number of
bytes in the statement. If III is set to the
location of the high byte of a statement
number, the high byte of the next state-
ment number has to be |
PEEK (III +2) + PEEK (III + 3)
*256 +4
That is,
PEEK (III+2)+ PEEK (III + 3)*256
is equal to the length of the current Ba-
sic statement including ENTER. The 4
is the sum of the two bytes occupied by
the statement number and the two bytes
that indicate the statement length. The
statement
LET III=IIJI+ PEEK (II+2)+
PEEK (III+ 3)*256+4
can be used to increment III to the ad-
dress of the first byte of the statement
SYNC Magazine
AIR TRAFFIC CONTROL
Cassette software for your 16K
ZX81 or TS1000
Meet the challenge of up to 24 aircraft speeding
across your screen to 5 different destinations!
No “safe” altitudes - every plane is your responsibil-
ity. You must identify type, heading and altitude and
skillfully guide them through crowded airspace, while
a real-time clock builds the pressure.
Every game is different.
Aircraft, ranging from a Cessna 152 to
the new Boeing 767, enter your airspace
whether you are ready or not.
Over 3K_of machine code means immediate re-
sponse. Experience the tension as you race to avoid
the controller's nightmare - a mid-air collision!
Order AIR TRAFFIC CONTROL from:
Powerplay Systems
P.O. Box 752, Woodside
New York, NY 11377
Send $12.95 plus $1.50 s&h (NY res. add sales tax).
Allow 3-4 weeks for delivery.
For ZX80/ZX81 with 8K ROM and 16K RAM
AN ANAGRAM-, CROSSWORD-TYPE GAME, 1 to 6 PLAYERS
e In home on ckassnoom BON MOT makes Learning fun
and fun educational.
o Develops vocabulary and spelling skilts
Choose from 11 different sized "game boards" to
control the Length of each game
o Competitors' challenges cause players to use a
dictionary for verrtfications and definitions
o Rules and playing tips on reverse side of cassette
o An exciting game requiring mone than finger dexterity
Only $9.99 each. 5 or more only $7.00 each.
(Pennsylvania customers add 6% Sales Tax. If mailed
outside the United States please add 10% for shipping.)
Send check and order to:
GOTWALD, Box 404, DAVIDSVILLE, PA 15928
Please send copies of BON MOT to:
Name
Address
LOAD EASIER
THE MICROCOMPUTER USER'S
BOOK OF TAPE RECORDING
($5.80),
a comprehensive, easy-to-use mine
of information on how to solve tape
problems.
TEST AND ALIGNMENT
CASSETTE ($9.80),
which has test signals and
instructions on how to set up your
recorder’s head, and how to check
the speed.
THE HILDERBAY LOADING AID
($11.90),
a simple-to-use device which lets
you get the volume setting right first
time: if a tape will load at all, you will
be able to load it first time.
send check or International Money
Order to:
Hilderbay Ltd.
8/10 Parkway
Regents Park
London NW1 7AA
U.K.
Name
Address
City
State/Zip
number of the next Basic statement.
Suppose that one has a decimal num-
ber that is less than 255. This number
can be added to the low byte of a state-
ment number. The computer contains a
number between 0 and 255 in this byte.
If the sum of these numbers is greater
than 255, a 1 must be added to the high
byte of the statement number. State-
ments 9991 through 9998 in Program 1
are a subroutine that adds the increment
(interval between Basic statements) to’
what was the number of the last renum-
bered statement. Assume GGG contains
the new statement number for a state-
ment that is being renumbered. State-
ment 9992 tests to determine if the num-
ber is less than 256. If it is less than 256,
control passes to statement 9955 which
pokes 0 into the high byte of the state-
ment number because JJJ was set to 0 in
statement 9982. Then statement 9996
pokes the new statement number in the
low byte of the statement number in
GGG by the appropriate increment, FFF.
Then the main program is reentered
(statement 9998) as statement 9984.
If the current statement number is
greater than 256, JJJ, the high byte of
the statement number, is corrected in
statement 9994. That is, the low byte of
the statement must have 256 subtracted
to account for the 1 that was added to
the high byte. Statements 9995 and 9996
POKE in the new high and low bytes for
the statement number. Statement 9997
increments the statement number and
statement 9998 returns control to the
main program.
Statements 9983 through 9986 in Pro-
gram 1 request and input the starting
number and increment for the renumber
program. Statement 9987 sets III to the
address of the high byte of the first state-
ment number. Statement 9998 transfers
control to the subroutine that POKEs in
the new statement number. When the
main program is later reentered, state-
ment 9989 increments III to the address
of the high byte of the next statement
number.
Statement 9988 returns the program
to statement 9988 so that the next state-
ment can be renumbered. Every time the
subroutine for incrementing the state-
ment number is entered, statement 9991
checks to determine if the current high
byte of a statement number is greater
than 34. If this number is greater than
34, the program stops, insuring that the
renumber program will not be
renumbered.
How Program 2 Works
Statements 9940 through 9944 request
and input the starting number, GGG,
and the increment, FFF. Statements
9944 through 9946 provide a heading for
the GOTO and GOSUB statements that
82
will be listed. Variable III is set to
16513, the beginning of the first Basic
statement, in statement 9947.
Statement 9948 determines if one has
reached the end of a Basic statement.
The number 118 is the Sinclair code for
the ENTER that terminates each Basic
statement. If the end of a statement has
not been reached, statements 9952 and
9953 determine if III is pointing to a
GOTO (236) or a GOSUB (237) code.
The variable HHH is set to 1 for a
GOTO or 2 for a GOSUB code in state-
ments 9952 and 9953. The variable
HHH remains a O (set in statement
9939) if III is not pointing to a GOTO
or a GOSUB code.
Statement 9954 checks to determine if
III is set to the code (126) that indicates
a five byte binary number is to follow. If
a binary number follows in the Basic
program listing sequence, statement
9954 increments III to the address of the
first byte after the binary number. That
is, statement 9954 adds 5 to III and
statement 9956 adds an additional 1 to
make a total of 6. The binary number
plus the 126 code takes a total of six
bytes in the Basic statement. A binary
number can contain 126, 236, or 237 in
any or all of the five locations occupied
by the binary number. These numbers
must not be interpreted as a GOTO,
GOSUB, or the beginning of a number
code.
Statement 9955 transfers control to
statement 9958 if a GOTO or GOSUB
code is encountered. If a GOTO or
GOSUB code is not reached, III is incre-
mented by 1 to the next byte (statement
9956) and control is returned to state-
ment 9948 to check the next memory lo-
cation. When an ENTER code is finally
detected in statement 9948, the next byte
in the Basic sequence is checked (state-
ment 9949) to determine if the last pro-
gram statement is renumbered. That is,
III is set to the first byte of a statement
number. If this byte is greater than 34,
the statement number is above 8959 and
is not renumbered.
Statement 9950 increments MMM
which was set equal to the starting num-
ber for the Basic program in statement
9942. Every time statement 9950 is en-
countered, MMM is incremented by
FFF which contains the increment num-
ber for the renumber program. Since
statements 9948 and 9949 are only en-
countered when III is set to the address
of ENTER (118) at the end of a state-
ment, statement 9951 is used to incre-
ment III to the next Basic keyword.
That is, the next statement number ad-
dress and the two bytes containing the
length of the next Basic statement are
skipped.
Statement 9958 prints out the renum-
bered statement number of a GOTO or
GOSUB statement. The word GOTO
(statement 9959) or the word GOSUB
(statement 9960) is printed by statement
9958 or statement 9959. Remember that
HHH is 1 for a GOTO statement 9961.
Statements 9958 through 9961 cannot be
encountered unless III points to the ad-
dress of a GOTO or a GOSUB code in
the Basic statement.
The numbers that a user enters after a
GOTO or GOSUB keyword are coded
by the Sinclair ROM as a number be-
tween 28 and 37. That is, O is 28, 1 is
29...9 1s 37. A GOTO or GOSUB
code need not be followed by a number.
An expression such as (A * B) could
have been entered after the GOTO or
GOSUB. Statement 9962 checks to de-
termine if a number follows the GOTO
or GOSUB code. If a number. does not
follow the GOTO or GOSUB code, an
Program 2. Renumber with GOTO and GOSUB Destinations.
TOP
2939 CET HHH =0
3940 PRINT “ENTER STARTING MUMEE
R
3941 INPUT GGG
3942 LET MMH=GOGG
9343 PRINT “ENTER INCREMENT"
‘ INPUT FFF
3945 _ PRINT “REINSERT THESE STATE
INT
Q947 LET III=16513
Sues IF PEEK ITE<¢>116 THEN GOTO
3949 IF PEEK (CIII+1) >S4 THEN GOT
0 3366
a50 LET MMH=MMM+FFF
$351 LET III=III+S
2952 IF PEEK III=2356 THEN LET HR
r=
3954 IF PEEK III=126 THEN LET II
T=IIIC~S
SSSS IF HHH>@ THEN GOSUB 93958
3356 LET III=III+iłi
Sess? GOTO 93946
3958 PRINT MMM;
2939 IF HHH=1 THEN PRINT
3360 IF HHH=2 THEN PRINT “
39061 LET HHH=e
“ GOTO
GOSUE
S962 IF PEEK (III+ł?} >27 AND PEER
CIII+1) <38. THEN GOTO 3965
39563 PRINT
2964 RETURN
S96S LET J =2 i
3966 IF PEEK (Iit+ih3)} =i26 THEN
GoTo @
2953 IF PEEK III=237 THEN LET HH
S36? LET JJUeJIJJU¢1
S968 IF Jd4?5 THEN GOTO 9963
3969 GOTO 3966
3970 LET LLL=1
LET KKK=e2
2 cat eee
3973 LET JUuJsJdI-1
S974 IF PEEK (III+JJJ4-i) =236
CITI+tJJJ3-1) =237 THEN coro 3
3975 LET LLŁLŁL=LLL 18
3a76 GOTO 9292372
CLTIT+eded ~
EEK JJJ#256+PEEK (Jdu+i
GOTO 9983
NNN=NNN +1
9981 JIJSIIS+PEER
EK (Jdd4+3) 25674
S982 GOTO 9979
$983 LET KKK=GGG+NNN#FFF
S984 PRINT KKK
5985 RETURN
LET JJu=6
LET III=16509
3988 GOSUB 9992
S989 LET III=III+PEEK
EK (III+) 2256+
GOT
8991 IF PEEK I1i:54 THEN STOP
3392 IF GGG<256 THEN GOTO 9995
2893 LET JJJ=JJJ+1
8994 LET GGG=G6G6-256
2895 PORE III, JJ
= E trri+i3
(GISt]2) PE
(ILLi+2) +PE.
3996 POK „GGG
3997 LET GGG=GGG+FFF
3398 RETURN
S599 STOP
SYNC Magazine
Cassette Software for the 2X81
and the Timex/Sinclair 1000
DATAPLOT
A program to plot free formatted data stored in REM statements.
Draws and lables the axes, titles your plot and connects your
data points. DATAPLOT will also draw figures, plot from an
equation, and plot on a grid if necessary. Plot stock and
metal prices, interest rates, scientific data, etc. with this
versatile program. 310 16K
TEXT and PRODIR
Cur most popular program set. T - A program for easy text
editing, storage and display. Recall pages of reports, letters,
etc. without splitting words at the end of a line. -FRODIR -
A programed directory to organize programs and ease loading.
310 16K
BLACKJACK
Practice your strategy. Hit. stand, double down, split, and
take insurance with this Nevada casino game. Deals out a
complete deck before shuffling. $10 16K
MATHFUN
First grade math with creative graphics to help your children
learn and review while having fun. Five 2K programs covering
addition, subtraction, time telling and more. Developed by
a certified teacher. $20 2K watch for our complete
educational software line to be out soon.
$1 discount if you order 2 program sets and request
them to be put on one tape. Prices include shipping.
Send check to our new location:
Peak : Box 8005 Suite 231,
goer 30 80306-8005
YOU NEED A FULLEL—-SIZED KEYBOARD,
BUT WHY PAY MORE?
This a new, FULL-STROKE, 53 KEY, surplus, GOLD-CONTACT keyboard,
originally made for a Texas Instruments computer terminal .Comes
with 6 inch space bar, 2 oversized shift keys, an oversized
return (enter) key and 12 spare keys which can be used for the
special circuits described below. An optional parts kit is
available with all the electronic parts required. (IC’s' with
sockets, resistors, capacitors, LEDs, etc.) You provide only,
wire solder and a small piece of perf-board for assembly.
The keyboard comes FULLY ASSEMBLED and ready to connect to your
computer via a 13 conductor ribbon cable (supplied). The
expansion connector is left free for your use with printer, RAM,
or other devices.
The keyboard comes with full plans for the following circuits:
ECTRONIC SHIFT-LOCK W T
fas T T Once activated this circuit
will allow you to continuously input any key just by holding it
down. Includes variable speed control.
AUTO-SHIFT FQ E TED F TIONS You decide which shifted
functions (like $ = + comma delete etc.) you will place on
dedicated keys, to be used WITHOUT SHIFTING. The parts kit
contains enough parts to dedicate 10 keys.
——Shipping/handling/insurance - add the following:
US, APO, FPO-$35, ANADA-$6, =
$ 00 COMPLETELY ASSEMBLED KEYBOARD & CIRCUIT PLANS
OTHER FOREIGN-$12
Texas residents please add $2.53, state sales tax.
FOR PARTS KIT ADD $13 & AN ADDITIONAL $1 FOR POSTAGE
6 ~~I Texas residents please add $.72, state sales tax.
INCLUDE MAILING LABEL FROM COVER
Only U.S. DOLLARS CAN BE ACCEPTED.
MONEY ORDERS PREFERRED. PERSONAL
CHECKS MUST CLEAR BEFORE SHIPMENT.
195 LELANI
SAN ANTONIO, TX 78242
PREMIUM
CASSETTES
ž COMPUTER GRADE
ë 100% ERROR-FREE
® FULLY GUARANTEED
> TM 3
The Micro-Trac Generation
@ High Frequency Response @ Wide Dynamic Range @
@ Used by Software Firms & Computer Hobbyists @
& Choice of School Districts Nationwide
LENGTH 12-PAK 24-PAK
C05.: 308
G10... cecsccccsnseasstanem ad @
"“CASES.......ccscseccens® 21
*Cases recommended to protect sensitive cassettes.
—UPS SHIPPING —
(No P.O. Boxes please)
$2.00 (12-pak) $3.00 (24-pak)
—Canadian shipping multiply by 2—
#1 COMPUTER TAPE
IN THE USA!
—write for volume prices—
TOLL-FREE
(orders only)
1-800-528-6050
ext. 3005
In Arizona
1-800-352-0458
ext. 3005
$ .59
$ .69
$ .89
$1.09
$1.39
$1.69
$ .20
MICRO-80 m INC.
2665 Buzby Road
Oak Harbor, WA 98277
— Distributors Wanted—
7 MAESAFALLEN, BOW ST, DYFED, SY24 5BA
ZX81 & Spectrum
Games
Now NEW LOW prices!!!!
PROGRAM PRICE
Chess 1.4 $17.95
10 levels mc
Adventure $17.95
140 locations based on the original
Invaders
Fast mc arcade action
Mazeman
All the features of the original
arcade version m/c
Add $2.00 for postage/handling
NEW STATE OF THE ART
TS1000/ZX81 (16K) SOFTWARE
ENTIRELY MACHINE CODED
3D SPACE BATTLE. incredible, super fast and complex 3D graphics. You are in
the starfighter cockpit and the screen is your window over an unlimited Universe
background. You see the Alien Starfighters coming and firing their Photon Beams to
you. Destroy as many as you can with your Laser Gun while you have energy. See
the Explosions, Laser Beams, Photon Beams, Alien Starfighters, all in full 3D. Full 8
direction control with just 3 keys.
LUNAR LANDER. The first real simulation of the well known arcade game for the
TX1000/ZX81 computers. Two stages of resolution. Smooth motion of the Lunar
Module. Selectable levels of gravity and inertia. Full graphics.
SUPER-ZXCLOCK. Giant display up to 10nths of second. Mini-display up to
100nths of second. 10 chronometers. Musical alarm.
ORCHESTRA. The computer plays your favourite melodies without add-ons.
You don’t need to know how to play any instrument: just enter a sequence of note
names and durations. Stores up to 3000 note melodies on tape. Full editing capa-
bilities. User re-definable music notation. Perfectly tuned on A440. Allows sound
over 3 octaves, with semitones and rests. Sounds through the TV speaker or an
amplifier connected to the MIC output of the computer. Uses BASIC to set-up and
edit sequence.
ONLY $14.95 EACH (INCLUDING AIRMAIL). SEND CASH,
CHEQUE OR MONEY ORDER PAYABLE TO JOSEPH-ORIOL
TOMAS. VISA & M/C ACCEPTED. PLEASE ALLOW UP TO 28
DAYS FOR DELIVERY. SPANISH VERSIONS ALSO AVAIL-
ABLE.
ATTENTION ZX SUPPLIERS: WE ARE INTERESTED IN AC-
QUIRING LICENSING RIGHTS TO TRANSLATE & MARKET
YOUR ZX SOFTWARE IN SPAIN (THIS IS ALSO THE BEST
WAY TO PROTECT YOUR COPYRIGHT). WE ARE ALSO THE
MAIN DISTRIBUTORS OF ZX HARDWARE AND BOOKS IN
SPAIN. SAMPLES WELCOME.
WE ARE ALSO LOOKING FOR SOMEONE TO PRODUCE
OUR SOFTWARE IN U.S.A. UNDER LICENSE AGREEMENT.
SEND YOUR OFFER.
Joseph-Oriol Tomas, Director
VENTAMATIC Micro-Informatica
Avda. de Rhode, n° 253
ROSES (Girona)
SPAIN
PROGRAMS WANTED
Do you have a program for the SINCLAIR
ZX81 or TIMEX 1000?
MEMORY MASTER is now seeking new
programs to add to our software line.
If you have a quality program, suitable for
sale in retail stores, we are interested.
Royalties paid for programs we market.
Send name, address, phone and descrip-
tion of program to:
Memory Master
P.O. Box 774
Barnegat, N.J. 08005
Dealer inquiries welcome.
NEW
From Intercomputer
A
Full Line
of
Software
for your ZX81 or
Timex Sinclair 1000
Please send mea FREE
Program and Catalog
Name
Address
Send this coupon to:
Intercomputer
Box 90
Prudential Center
Boston, MA 02199
asterisk (statement 9963) is placed after
the statement number and GOTO or
GOSUB that are on the screen. Then
control is returned to statement 9956 so
that III can be incremented to the next
location in the Basic sequence.
If a number is located after GOTO or
GOSUB, statement 9962 causes state-
ment 9965 to be encountered. State-
ments 9965 through 9968 start JJJ at 2
and increment JJJ as successive memory
addresses are checked to determine the
length of the number. If the number is
greater than 4, statement 9968 transfers
control to statement 9963 to print an as-
terisk after the GOTO or GOSUB on
the television screen. The program as-
sumes a valid number following a
GOTO or GOSUB cannot be greater
than 4 bytes long.
After statement 9966 detects a byte
containing 126 (the beginning of a bina-
ry number), control is transferred to
statement 9970. At this point III + JJJ
points to the location after the number
in the GOTO or GOSUB sequence.
Statements 9970 and 9971 set LLL and
KKK to 1 and 0, respectively.
Statements 9972 through 9976 form a
loop that changes the coded number of
following GOTO or GOSUB into a deci-
mal number. The loop starts (statement
9972) by examining the last coded digit
in the number, and subtracting 28 from
this coded number to make it into a deci-
mal number. The number is multiplied
by LLL which is started at 1. The vari-
able JJJ is decremented by 1 in state-
ment 9973.
If the number was only one digit long
or a 236 (GOTO) or 237 (GOSUB) code
is detected in statement 9974, control is
transferred to statement 9977. If the
number is more than one digit long, the
multiplier LLL is multiplied by 10 and
statement 9976 transfers control to state-
ment 9974. Statement 9974 decodes the
second from the last digit of the number,
multiplies it by LLL, which is now 10,
and adds this number to the last digit of
the number. The loop in statements 9972
through 9975 is not completed until the
entire number is decoded.
Statement 9997 sets JJJ to 16509, the
starting address of the Basic statements.
The loop in statements 9979 through
9982 looks at each Basic statement ad-
dress and checks to determine if the ad-
dress is greater than or equal to KKK
which is the decoded old address of the
current GOTO or GOSUB statement.
After an address is checked, 1 is added
to the variable NNN.
When an address is encountered that
is greater than KKK, NNN contains a
number that equals the number of Basic
statements before the statement that is
the destination of the GOTO or GOSUB
Statement.
Statement 9983 uses this formula:
New destination address = New start-
ing address + (number of Basic state-
ments before the destination statement -
1) * increment. This is used to calculate
the new destination address for the
GOTO or GOSUB statement in ques-
tion. Statement 9984 prints the new des-
tination address after the GOTO or
Finally, statement 9985 returns con-
trol to statement 9956 to repeat the pro-
cess outlined above for the next Basic
Statement. When the last GOTO or
GOSUB statement is listed, statement
9949 transfers control to statement9986.
Up to this point the original program
has not been renumbered. Statements
9989 through 9998 renumber the pro-
gram in the same way that statements
were renumbered in Program 1. In fact,
statements 9987 through 9998 in Pro-
gram 2 are identical to the statements
with the same statement numbers in
Program 1.
No-Limit
Hi-Draw
Challenge any 5 (6-handed) of ten
opponents; each plays differently.
ZX81/TS1000 (16K) ZXP12C (Cassette). . $16.95
Postage & Handling.. ...61.50 N.Y. Residents, add 7% sales tax
Sacically Sof
Company
POKE
P.O. BOX 2977 © SYRACUSE, NEW YORK 13220
November/December 1982
229 Ravenwood Ave.
ROM
DISASSEMBLED
ZX-81
TIMEX-1696
8K ROM DISASSEMBLY LISTING...OVER 10@ PAGES !1!
This is not a manual or textbook...
But much more than just a
‘raw’ disassembly.
All major BASIC command routines (e.q. FAST,SCROLL,CLS)
are LABELLED and CROSS-REFERENCED. We've added helpful
comments in many cases.
With this text as a reference you will be able to:
* Reduce program length and RAM requirements by USR
calls to ROM routines
* Add machine code speed to your graphics without
re-inventing the wheel for every routine
* Load programs faster since the ROM routines are
available at power-up
* Work around, or with, the ‘peculiarities’ of the
Z2X-81...Display handling...Variables...Interrupts
Send $19.95 plus $2.88 postage to:
D A DATASYSTEMS
Rochester, NY 14619
716-328-3661
YORK 10
BASF-DPS
WORLD STANDARD TAPE
MONEY BACK
GUARANTEE
— COMPUTER GRADE
craves BLANK CASSETTES
DATA TRAC / C-05, C-10, C-20
CASSETTE STORAGE CADDY
NeW!
ORGANIZE
YOUR TAPES! $
$295 EACH panet QUALITY TRACTOR FEED
DIE-CUT BLANK
TYPE HARD BOXES CASSETTE LABELS
.
INTRODUCTORY OFFER!
ORDER 2 DOZ. CASSETTES, ORDER 1 CADDY
GET 1 CADDY FREE! 2257202 casseres ao
rely O
tape YOU h
enE'S WHAT. gyr YORK 10 CA nice to have 8 Sertorm with SUC
HERS sAY AB tput to the o% of the t a ioo e
itor Ov cially buil jity. And the fas rt surprise
“we Monro ith a Specia Y n ually was a plea
compute absolutely "n service WE Son
meter an tthe tap oulos om Pa
dropouts thr papado” R Madison. “YOU'VE TRIED THE REST,
Beaverton", NOW BUY THE BEST”
Call: 213/710-1430
for IMMEDIATE SHIPMENT oS
| on Credit Card Orders.
ORDER NOW... YORK 10 Computerware
MAIL TO:
24573 Kittridge St., #A 3, Canoga Park, CA 91307
am am ee ee es es es ORDER FORM =e oo =m oe æn æm m og
Each cassette
a 1 DOZEN 2 DOZEN TOFAL | su se taa YORK
a O 7.50 g 13.50 || 10 labels only.
O 8.00 ( 14.40 Cee Boxes are sold
10. 18. separately. Ship-
3 o e K AT ae Su ments are by
O 2.50 O 4.00 | | SC P'S. unless
$ Storage Caaay @ $2.95 ea.: Quantity: Parcel Post re-
FREE: Quantity: quested. Boxes,
i label 4.00/1 = 3000/1 Caddies, and blank
A [pee Oe et —| einer
% UB TOTAL WSR shipping charges
Calif. residents add 6% sales tax e AA when ordered with
q Shipping/handling 1 doz. $2; 2 doz. $3.50: cassettes. When
3 doz. $4.50; each additional doz. $.50. ordered without
Endy oath
i or Parcel Post instead of UPS ADD $1 pre a ar eE
Outside Continental USA, ADD $2 | PE eae ONE.
5 uae feo Caddies $1.00
Check or M.O. Charge to sey ary =
2 enclosed [ | Credit Card: [| VISA [] MASTERCARD HANDLING ON
Į C PLEASE SEND QUANTITY DISCOUNTS Se
‘ Card No. Exp.
i Name
§ Address
i City State/Zip
a Signature
5 Computer make & model Disk?(y/n)
ys oe fe ef ee ee a ee ae a ne es a ee ne re
If you own a ZX81
or a TIMEX 1000
then you need the
ABACUS CONTROLLER
Developed to
eliminate tedious
swapping of plugs
when LOADING or
SAVING programs
on cassette.
One switch
operation allows
selection of TALK,
SAVE, CUE and
LOAD modes. Using
a built-in
microphone/speaker
to allow fast and
reliable program
naming and cueing.
Price $24.95 inc.
Now available - AVENGER - an
Arcade style, machine code game
for the 16k ZX81 written by the real
Kevin Flynn. Guaranteed the best
there is.
Price $9.95 inc.
186 St. Helens Avenue
Swansea. West Glam.
Great Britain
tel: 0792 50282
Protect your Sinclair in a portable, dust free work station.
Extra storage space for 6 tapes, connecting cables, power
and ram pack.
Removable lid allows in-case operation.
Non-skid feet prevent desk top scratches.
Absolutely the most efficient and convenient way to
protect, store, and transport your computer system.
Only $54.95 in continental U.S.A.
Dealer Inquiries Welcome
CASES INC. P.O. Box 33820 Seattle, WA 98133 (206) 365-5210
VISA MASTERCARD
Your Timex/Sinclair
Introduction
The number and variety of “on-line”
computer services is growing rapidly.
Users can access vast data bases of news
services, stock exchange market data,
weather information, agricultural assist-
ance, and whatever else the service pro-
viders can dream up. In addition to public
services, private groups such as local com-
puter clubs are beginning to use data
transmission to distribute their bulletins
and programs. The user can even dial up
original computing services.
All that is required to be able to avail
yourself of such services is a terminal, a
telephone, and a modem—the means of
connecting the two.
A terminal is essentially a device with
which a human being and a computer
communicate. It can be “hardcopy” (a
teletype or typewriter like device) or a
“CRT” (using a TV type screen). In either
case a keyboard or some other means of
inputting data is necessary. A typical CRT
terminal costs in the area of $1,500, with
the hardcopy terminals usually being a
little more, due to their mechanical
complexity.
The Sinclair is a prime example of the
CRT terminal: it has a keyboard
(although somewhat quaint) plus the TV
as a display unit. Thus it is not surprising
that ZX81 and T/S 1000 users are inter-
ested in using their computers as terminals
for the larger mainframe computers. The
only thing lacking is the means of con-
necting the computer to the telephone.
The user must have a modem to form
the interface between the terminal and
the public telephone system. Since most
telephone companies view with grave con-
cern the idea of anyone attempting to
V. B. Rice, 119 Exeter Rd., Ajax, Ontario, Canada,
L1S 2K4.
November/December 1982
Can Become a Terminal
V. B. Rice
send electrical signals through their lines
and relays, the modem performs the
function of translating the electrical im-
pulses from the terminal into audible
tones acceptable to the normal telephone
lines through which we speak to each
other. At the receiving end of the tele-
phone circuit, another modem accepts
the tones from the telephone speaker and
converts them back into electric signals
compatible with the receiving computer.
The tone generating and recognition cap-
abilities of this device resulted in its rather
strange name which is a contraction of
frequency MOdulator/DEModulator. A
modem costs, in Canada, anywhere from
$250 (Radio Shack) up to well over $1,000,
depending on the speed with which it can
transmit and receive data.
An Interface Board
It would be very pleasant if the ZX81
could merely be attached to a modem
and be magically transformed into a ter-
minal. Unfortunately, this is not directly
possible. You must have a device to con-
nect a typical modem and your Sinclair
called an Interface Board. Fortunately,
you can build such a board because it is a
reasonably simple circuit to wire up. If
you have had any experience working
with IC’s (Integrated Circuits), you could
build one easily in a weekend, with time
off for sleeping. With no experience (my
case), you should be able to have it
operational in a week of working even-
ings. The cost should be in the range of
$25 to $50 (Canadian), depending on how
much shopping around you are willing to
do for the parts.
Although I designed and tested this
interface board on a ZX81, it should work
on the ZX80 also. However, the Basic
interpreter will not be able to keep up
with the line speed when receiving data
because of the lack of a “FAST” mode on
that model. The speed problem can be
eliminated by the use of machine code
programming for that routine. From the
little information I have been able to glean
on the new Sinclair Spectrum computer,
this board will probably operate on that
machine also.
As an added bonus, this interface board
will also allow the Sinclair to communi-
cate with a terminal as well, or with an
RS-232 wired line printer.
I am grateful to David Sommers for his
article “Experiments in Memory and I/O
Expansion” (SYNC 1:6). This was of con-
siderable help to me in my experiment.
For those who are interested in pushing:
the usefulness of the Sinclair to extremes,
an excellent book is Interfacing Micro-
computers to the Real World by M.
Sargent III and R. L. Shoemaker and
published by Addison Wesley Publishing
Company in the U.S.A.
Theory of Serial Data Transmission
Inside the Sinclair, or any other modern
micro for that matter, the communication
between components is via “TTL”
(Transistor to Transistor Logic). This is
essentially a 0 volt/5 volt current fluctu-
ation, of extremely low power. Where the
distance between components is mea-
sured in inches and the number of parallel
lines is immaterial, this method is per-
fectly adequate. An example of TTL I/O
is the Sinclair ZX Printer, which uses 5 of
the 8 CPY data lines to operate and
control the printer.
This “convention” becomes unweildy
when the distances involved grow, due to
voltage attentuation through the wires,
the number of lines, etc. The most gen-
erally accepted alternative is “serially
coded ASCII” (American Standard Code
for Information Interchange). This is used
between most computers which have ter-
minal interfaces for low-speed telephone
lines, and by the public data networks
such as DATAPAC in Canada, and
TYMNET in the U.S.A.
This serial I/O involves breaking the
data characters to be transmitted into
individual bits, then shipping them down
the line one bit at a time at a prede-
termined rate of speed. This allows the
use of only one wire, since the data is
“turned sideways,” and the signals can
then be amplified to allow greater dis-
tances between the sending and receiving
devices.
This protocol requires that the sending
and receiving parties must have agreed
(electronically) on the transmission speed,
which is known as the “BAUD” rate, or
“Bits Per Second,” the number of bits
which represent a full character, and the
number of check or parity bits (if any)
that will be included with each full data
87
Figure 1.
+5V gnd clk
o
Qi
Gd
Ol
g
T
K
C
A
AN,
/\
~
i.
) UU
ol
ale
S
œ
To)
h
M
7e 3
ra
74
Á
RS232 25-pin connector S X
pin# for modem/computer © 4
1 EURAN y
< Rx0 ‘hi
I DSR 2o.
octs Y
9+5V
| A oT 3
ie
3 Oorr 6
S oe
CIORTS 5
character transmitted. Since it is difficult
to change the computer at the other end,
the user must know in advance what the
receiving CPU expects and act
accordingly.
Serial data output can be accomplished
in a variety of ways: the Sinclair uses this
form to “SAVE” files on cassette and to
“LOAD” them back into core again. In
this case the serialization is accomplished
by software, loading each data character
into a register and then shifting the bits
off the end. If the shifted bit was a “I”, a
“one” sound is sent to the tape recorder;
if the shifted bit was a “0”, a “zero” sound
is generated. The reverse process listens
to the sounds from the tape recorder, and
gathers the data bits together into bytes.
88
Transmission Speed and Noise
Transmitting data in this manner to
other CPUs is perfectly feasible, but there
are two problems. First, the programming
required to match the transmission speed
to the receiving CPU is extremely com-
plex. This is where the major building
block of this interface board comes into
the picture.
The “USART” (Universal Synchro-
nous/Asynchronous Receiver Trans-
mitter) is a sophisticated chip which solves
all these problems for you. You merely
tell it the BAUD rate, the parity settings,
and the character format to send or
receive, and it does all the work. It will
serialize the data you present and send
the data out at the correct time intervals.
When it is receiving, it will reconstruct
the data characters and pass them out to
you, along with any indications of errors.
Great stuff!
Second, the problem of electronic
“noise” on the line is addressed by the use
of the “RS-232” interface chips. Instead
of using the 0 to 5 volt TTL of the com-
puter chips, the output and input to these
chips is a negative and positive voltage: a
“1” is -3 to -15 and a “0” 3 to 15 volts.
Since the voltage is considerably higher,
and the 0 and 1 value variations are con-
siderably wider with a zero level crossing,
there is much less possibility of inter-
ference and a far greater range
capability.
SYNC Magazine
ZX80/81 USER Beat the Program
Loading Blues with a
DATA CONDITIONER II
USE THE DATA CONDITIONER II to;
e Eliminate cable changing
e Allow accurate volume control setting for
a perfect load every time.
e Allow for easy cueing of tapes
e Allow you to use the remote feature on
your tape deck.
Order TODAY by phone using Visa, American
Express, Master Charge, 24 hour toll FREE
number 1-800-367-5134
order part number CSL-DS $49.95
address: Communication System
Laboratories
94-165 Leokane Street
Waipahu, HI 96797
-allow 3 weeks for delivery
add $3.50 for shipping & handling (air parcel
post)
add $5.00 UPS Blue Label
EZRA GROUP II
EZRA GROUP II
WE CHALLENGE THE SOFTWARE COMPANIES
TO LOWER THEIR PRICES!
Biorhythms 8K ROM/1K&up....c..ee1. 00
Graphics Billboard 8/lup.......1.00
Borse Race B/LUD. .s.evsses esses]. 00
SPINNER TM(like Rubik's)8/l6...2.00
Improved SLOW PAUSE......cceeeeeele 00
Linear Regression 8/lup........e2.00
CHAR. Generator Demos 8/lup....2.95
SPLIT-A-STACK TM SLOW/lup......-2.00
CHEWTER TM(like PACMN) SLOW/lup. 2.95
ISLAND SQUARES TM SLOW/2up.....2.00
Random MUSIC!SLOW/lup......+eee2-00
BASIC Keyword Demos 8/1l....from .50
ORDER,SASE,reSASE gets you GOO-
DIES Catalog and cREE Program
EZRA GROUP II
EZRA GROUP II
POB 5222 San Diego,California 92105
EZRA GROUP II
EZRA GROUP II
LOW LOW LOW LOW LOW LOW LOW LOW LOW
PRICES!
Biorhythms 8K ROM/lK&up........l.ØØ
Graphics Billboard 8/lup.......1.00
TAP WRITER TM(Handicap Aid) 8/1.FREE
Horse’ Race: B/ LUD... ves oss vic eee eee
SPINNER TM(like Rubik's) 8/16...2.690
Improved SLOW PAUSE....sccecncvel 00
Linear Regression 8/lup........2.00
CHAR. Generator Demos 8/lup....2.95
Plotting Work Sheet 8/1.......+3-95
Plotting Work Sheet SLOW/16....6.95
SPLIT-~A-STACK TM STOW/lup......2.00
CHEWTER TM(1like PACMN)SLOW/16..2.95
ISLAND SQUARES TM SLOW/2up.....2.00
Random MUSIC!SLOW/lup..........2.00
BASIC Keyword Demos 8/l....from .5Ø
ORDER,SASE,reSASE gets you GOO-
DIES Catalog and !!FREE!! Program
EZRA GROUP II
EZRA GROUP II
POB 5222 San Diego,California 92105
ZX81 OWNERS
SPECIALISED PRODUCTS
MODULAR EASY TO USE
FOR HOME/INDUSTRY &
EDUCATION
TE10 INPUT/ OUTPUT PORT — Easy to use. Fits between ZX & RAM
PACK/PRINTER (if required). No skill required to connect. Can be used for
such things as:— motor control; sound/music generators, connection to
printers/ floppy discs/light pens/other computers, temperature monitoring,
square wave generating, control of rotating aerials, even train sets etc. Port has
16 programmable 1/0 lines and may be used without any electronics knowledge
to connect other add-ons. Motherboard required ONLY when two or more add-
ons are used at any one time.
FULLY ASSEMBLED $29.50
KIT (WITHOUT CASE) $24.50
TE12 4 CHANNEL RELAY BOX — To suit Port Contact rating: — 240v
AC/1,5A — 24V DC or 110V AC/3A. Lp to 4 units i.e. 16 relays can be
operated $24.50
TE15 8WAY TRANSISTOR DRIVER —
TE17 8WAY SWITCH UNIT (EDUCATIONAL) —
TE18 8WAY INDICATOR UNIT (EDUCATIONAL) — A
TE20 JOYSTICK & FREE GAME — (2 Joysticks may be connected via
Motherboard.) $21.50
TE30 MOTHERBOARD — Allows multiples combinations of add-ons — up
to 16 1/0 lines may be used — $26.50
NOTE: TE 12/15/18 Require 9V. 300mA
Calculator Type Power Supply
23 + 23 WAY ZX Edge Con $5.00
16 WAY SINGLE SIDED EDGE CON $3.50 EXTENDED PIO NOTES $2.50
PRICES INCLUDE POSTAGE
Receipts always provided: — Delivery normally ex-stock. ADD
Full instructions and examples with all products.
Send for catalog $1.00. Mastercharge/Visa accepted.
SEND S.A.E. FOR CATALOGUE. TELEPHONE ORDERS
ACCEPTED.
DISTRIBUTOR INQUIRIES INVITED
THURNALL (ELECTRONICS) ENG.
DEPT Y, 95 LIVERPOOL ROAD.
CADISHEAD, MANCHESTER
M30-5BG ENGLAND
TEL: 061-775-4461 (24 hr)
| VISA |
The RS-232 standard also describes a
special 25 pin “D” connector, with all 25
pins accounted for. In actual practice,
only 4 pins are really necessary for ter-
minal use, one each for data input and
output, and two grounds. This convention
also assigns a male connector (DB25-P)
to the terminal (the Sinclair in this case),
and a female connector (DB25-S) for the
modem.
Circuit Overview
The heart of this circuit is the USART,
in this case, the INTEL 8251. By tying
this IC to the address decoding scheme
provided by David Sommers, together
with a clock dividing circuit, and an RS-
232 transmit and receive pair, we have a
workable interface board. I also followed
his directions and added a few extra mem-
ory chips to buffer the incoming mes-
sages. This added another $30 to the cost
of the board. Debugging the circuit
took a fair bit of trial and error. The main
problem was in the timing circuit.
The data clocking on the board is
derived from the 3.25 MHz CPU clock
used by the ZX81. (MegaHerz where 1
MHz 1/1,000 sec.) The circuit described
in this article is wired to provide a 300
BAUD data rate, which is more or less
standard for voice-grade telephone line
communications and just about the max-
imum that can be handled by a program
written in Sinclair Basic. I have experi-
mented with the timing circuit and have
run the BAUD rate up to 9,600 with no
problems, but at that speed the control
program has to be written in machine
code to keep up with the incoming data.
Since the I/O circuit board is memory
mapped, you can write your terminal
programs in Basic; no machine language
code is necessary unless you really want
to get fancy. Initializing/resetting the
USART is done by merely POKEing the
required values to an address in core:
sending a data byte by POKEing the
ASCII value into another core address,
and reading a byte by PEEKing at the
same core location. These addresses are
determined by the wiring in the circuit
board. In this example they are locations
21508 for the 8251 control port and 22532
for the data port. Actually they will
respond to any address up to 1K above
these respective addresses. This poses no
problem unless you have an expansion
RAM pack. The results of running with
the RAM pack attached will be unpre-
dictable.
By using the CPU I/O control lines for
chip selecting, the circuit can be I/O
mapped instead of memory mapped. In
this case IN and OUT machine code
instructions will be required to operate
-81 SPACE RAIDERS™
EWO BEEP EROS MOR TESA PYG
the circuit. This will complicate the pro-
gramming required to use it.
Circuit Components
Let’s look at the major components
shown in the circuit wiring diagram
(Figure 1) with a short discussion of the
purpose of each. The IC number from
the diagram is followed by the IC type in
parentheses. The actual manufacturer of
the IC is immaterial, with the exception
of the 8251 USART which is only made
by Intel. All of the ICs in the circuit are
readily available; most of them are stock-
ed by Radio Shack.
a. IC1 (74LS138)
IC1 forms the address decoding circuit,
with output control lines shown as Chip
Select 1 through 7. I used CS6 for the
control port and CS7 for the data port on-
the USART. CS1 through 5 can be used
for 5K of onboard memory. Adding 2
more 74LS138s as per Sommer’s article
can increase the available address range
up to 32K if required.
The inputs shown on the wiring dia-
gram for this IC (A10-14, MREQ and
RAMCS) are taken straight from the back
of the CPU.
b. IC2 (74LS08)
IC2 is used for combining control lines.
c. IC3 (74LS04)
IC3 is required for inverting the signal
WANTED...
the non-exclusive rights to
3.292 E 05 6GE= 1.297 E 03
6:275 E 05> X= «8.222: E05
1O Er 0A YSS E705
4.780 E 06 Z= 5.692 E 06
manufacture and sell your
Timex/Sinclair educational and
entertainment programs.
90
The federation has
declared a state of all-out war,
` leaving you in charge of the
Starship Defiant: newest and
most advanced spacecraft
known to man.
Soon, your experienced
guidance will bring you within
range of the enemy convoy.
Hundreds of stars flash by as
you check the status of your
Laser, Shields, Masking
Navigation, Scanning, and’
Computation Equipment. The
energy drain is tremendous, as
the target distance indicator
ticks slowly downward .. .
As you come into range
you set your cross-hairs on the
nearest ship. Fire Laser!!!
Switch to Aft view!!! Evasive
Maneuvers!!! Space explodes
all around you as the first
enemy ship disintegrates and
the remainder lock onto your
position...
High speed graphics and
custom ML math package
provide the real time, accurate
simulation of the above space
navigation and battle scenario.
You've never seen this kind of
performance on your ZX81
before!
Only $19.95 for cassette,
keyboard overlay, and manual
(shipping included). (Utah
residents add $.95 tax).
NIRAD
ELECTRONICS
959 East 460 South
Provo, UT 84601
We will pay
CASH
DALLAS DEVELOPMENT SYSTEMS
7410 Stillwater
Garland, Texas 75042
(214) 238-1776
SYNC Magazine
from the CPU clock. To minimize noise
problems with this IC, tie all unused in-
puts high (i.e., connect pins 9, 11, and 13
to pin 14 which is 5 volts).
d. IC4 (74LS73)
e. ICS and IC6 (74LS90)
ICs 4, 5, and 6 are cascaded together to
produce the data clock required by IC7
(the 8251). The CPU clock is inverted by
a 74LS04, then divided by 7 by ICS, then
by 3 by IC4, and by 8 again by IC6. Using
this scheme, the USART data clock can
be tapped off either pin 11 of IC5 to give
BAUD rates of 9,600 and 2,400, or pin 8
of IC6 (as shown) to give BAUD rates of
1,200 and 300. (The dual BAUD rate is
program controllable).
The CPU clock (inverted) is tied
straight on to the clock input for the
USART. Although the specs for this chip
specify a maximum clock rate of 2MHz,
it works quite happily at the higher clock
frequency.
f. IC7 (8251 USART)
This is the parallel to serial data I/O
handling module.
g. IC8 (1488)
This is the RS-232 transmitter.
h. IC9 (1489)
This is the RS-232 receiver.
IC8 and IC9 are an RS-232 transmitter/
receiver pair which are wired to the I/O
pins of the 8251 to provide the actual
interface to the outside world. The 1488
requires a +/-voltage set higher than the
TTL 5 volts used by the rest, so be very
careful about the wiring on this one.
Although the RS-232 specs call for +/-15
volts, anything between +7 to +15, and
-2.5 to -15 will work. My prototype board
uses the 9 volt CPU power supply for the
positive voltage and a square 9 volt bat-
tery for the negative. It is still working
with that configuration. One battery lasts
for about a month of rather heavy use.
Note that in Figure 1 the power supply
pins are omitted for the 1488 and 1489.
The 1489 power supply is 5 volts to pin
14. Both of these ICs require pin 7 to be
connected to ground. The 1488 RS-232
higher voltage range is connected with
+7 to +15 volts on pin 14, and -2.5 to -15
volts on pin 1.
i. 1 DB25-P connector
This is used to attach the Sinclair to
your modem.
J. 1 socket of 1/10 inch spacing.
This is to fit the back-plane of the
Sinclair.
k. A wire-tapping circuit board, IC
socket, etc.
These are used as required.
Construction Techniques
For the actual process of wiring the
board, I strongly recommend the use of a
wire-wrapping tool. After having had a
bit of experience attempting to solder
together IC circuits, my initial reaction to
using a wire-wrapping was, “Where has
this been all my life?”
Remember also that the 8251 is a
CMOS chip and that it takes very un-
kindly to any type of static electricity.
The safest way to handle it is to carefully
avoid touching the pins with anything.
Keep it in conductive foam or stuck into
aluminum foil when out of the board, and
jam aluminum foil over the wire-wrap pins
on the back of the IC socket when insert-
ing the chip into the socket.
I have attempted to use what appears
to be the standard form of circuit diagram
in Figure 1, but my personal method is to
draw a picture of the IC from the bottom
(the direction you will be looking at the
socket from when wiring it), with the pin
numbers and where they will be wired to
in the finished product.
Notes on Figure 1
A few notes on Figure 1 will be helpful
at this point.
1) The connections indicated as “CPU”
on the diagram are connected to the plug
you will have made to fit the back the
CPU. None of these ICs require
buffering.
2) On IC7 (the USART), pins 14, 15,
ZX81 PERSONAL BANKING SYSTEM
WHAT ARE YOU WAITING FOR?
INTRODUCING
Z°-XE,
A SOFTWARE BASED CASSETTE TAPE STORAGE SYSTEM FOR
ZX8] AND TS1000 COMPUTERS
æ 6 TO 10 TIMES FASTER than Sinclair LOAD and SAVE routines
= FAST ARRAY VARIABLE loading and saving independent of program
æ FAST BINARY DATA loading and saving anywhere in RAM
= USER FRIENDLY PROMPTING in either immediate or program modes
= NO HARDWARE CHANGES. Period. Works with your existing system
= LESS THAN 2K OF RAM is occupied by Z-XLR8, residing between
16-18K,25-27K,or 30-32K for cassette version. EPROM version
resides between 14-16K.
Z-XLR8 CASSETTE $9.50 Z-XLR8 EPROM $19.50
ALSO
256 X 192 BIT MAPPED HI RES GRAPHICS FOR ZX81 & TS 1000
COMPLETE PLANS $5.00
ADVANCED INTERFACE DESIGNS
P.O. BOX 1350
STATE COLLEGE, PA 16801
In USA Please Include $1.50 for Prompt Handling and Shipping
Outside USA Include $3.00
PA Residents Add 6% Sales Tax
November/December 1982
WITH LOAD/SAVE DATAFILES
AT DOUBLE SPEED
Load the prog am in the normal way—enter, amend or delete your
transactions (ZX81 will automatically scan standing order file and post
any items due)—save the file of data onto cassette in 45 seconds—load
a different datafile into the same program, also in 45 seconds—enter
items, etc.—save datafile only onto cassette (45 seconds)—repeat
operation for any number of accounts.
Absolutely no need to save program, as all information is held in data-
files. Very easy to use—unlike other bank accounts. Requires a mini-
mum of 16K RAM—can use much more (no modification required).
On Demonstration at the next ZX Micro Fair.
The Personal Banking System also includes the following features—
Full page detailed Bank Account, dual display (or printout).
Automatic generation of standing orders on due dates.
Validation of all entries.
Correct any item previously entered. (Single/Multiple field correc-
tion)
Enter an item (previously omitted) in the correct date order of the
account.
Single key operation. Utilises a M/C keyboard scan.
Search for any item or items by cheque number, description or
amount—display (and printout if required) with totals.
Continuous display of statement extract, continually updated dur-
ing input of entry.
File of standing order details can be displayed, printed, added to,
cancelled and amended.
Detailed User Manual.
After sales maintenance.
Send £9.95 ($20) incl. for cassette and users manual to J.P. Gibbons
A.I.B., 14 Avalon Road, Orpington, Kent, BR6 9AX, England. (Send
large S.A.E. for details).
There are only two suppliers of supported ZX81 software, this is one of
them. Be sure to include your name and address.
Bank Reconciliation Module—a separate program on
£6.50 cassette that utilises data supplied by the main program
($13.00) (S.A.E. for full details).
The only expandable system for the ZX81.
The Personal Banking System is also available from Sinclair Place, PO
Box, 2288 Redmond Wa. 98052 (see their ad), full maintenance still
available.
16, 18, and 21 are not required and are
not shown on the diagram. Just leave them
unconnected.
3) IC3 (the 74LS04) should have all
unused inputs tied high to prevent noise
problems. This means connect pins 5, 9,
11, and 13 to the +5 volt source (pin 14).
4) The unused Chip Select lines on IC2
(the 74LS08) may be left unconnected.
5) ICs 2 and 3, sections of which are
scattered throughout the wiring diagram,
both require that pin 14 be +5 volts and
pin 7 be ground.
6) ICs 4, 5, and 6 also have several pins
unaccounted for in the diagram. Again,
leave these pins unconnected.
7) The pin numbers shown beside ICs 8
and 9 are for an RS-232 male connector,
meaning the Sinclair is wired as a term-
inal. If IC9 pins 4 and 10 are tied high
with the resistors as shown, they need not
be wired to the RS-232 connector and
vice-versa.
8) Pins 1 and 7 of the RS-232 connector
must be connected to the CPU ground to
complete the circuit.
9) Interesting and useful LED indicators
can be added to indicate transmit and
receive activity. Use a very small LED,
with a series resistor (e.g., 2.2K ohms)
connected to ground. Wire one of the
LEDs to pin 11 of IC 8, the other to pin 1
of IC9.
Z-80
SOFTWARE
NOTEBOOK
10) There is the problem of a plug with
which to attach the circuit board to the
back-plane of the ZX80/81. The normal
procedure is to obtain a plug of 1/10 inch
spacing and cut it to fit. It would be nice
to be able to purchase the correct unit
over the counter. There is a very pretty
pig-tail pass-through version on the ZX81
printer, but it cannot be bought sep-
arately, A diagram of the pin-outs of the
back connector is found in the Sinclair
manual.
11) Either purchase a general IC data
book or obtain a copy of the data specs
for the ICs you buy. Radio Shack prints
the data specs on the IC package. Other
stores will probably supply a copy of the
specs on request. This can eliminate many
problems, especially misprints in maga-
zine articles. I would also recommend
two Radio Shack books: Engineer's Note-
book II, stock number 276-5002, and the
Archer Semi-conductor Reference Guide,
stock number 276-4005.
12) There appear to be no problems
with the calculator power supply which
comes with the ZX81. I added an addit-
ional 8251 circuit plus an extra 7K of
(Static) RAM onto my original board, and
the entire system still works perfectly well
with the original 650 MW power supply.
Building and Testing the Interface Board
The actual construction of the board
depends on your experience in such pro-
jects. I am a rank amateur so the tech-
niques I used are probably not particular-
ly professional.
The physical layout of the components
on the board is a matter of your personal
aesthetics, but I would recommend keep-
ing the components which form each sub-
circuit grouped together on the board,
e.g. the clocking circuit, the address select
circuit, the RS-232 components, or extra
memory. Try various layouts by moving
the IC sockets around on the board before
wiring them to see what the end result
will look like.
The steps I went through in designing
and building the interface are roughly as
follows:
1) Cut and adapt a plug to fit the back-
plane of the Sinclair. This step depends
on the plug you managed to scrounge
and on what you wnat the finished
product to look like. When you cut it,
remember to leave “ears” on either side
so that you can get the plug off the com-
puter again without breaking anything.
The plug I found was a wire-wrap type. I
pushed the pins through the IC spaced
perf board from Radio Shack (stock num-
DON’T LET GLITCHES, SPIKES OR POWER
FAILURE WIPE OUT YOUR RAM PROGRAM
AND DATA. AVOID SYSTEM CRASHES WITH
A must for anyone wishing to program the ZX-80/81 or TS
1000 in machine language! Contains over 25 useful tech-
niques, utilities and programs that will turn even 1K systems
into computing giants. |
SYNC - SAVER
RAM BACKUP POWER FOR SINCLAIR
` Sorting, timing loops, searches, block transfers and many
more are included. The complete Z-80 instruction set is fully
explained and listed. $7.95 pp.
The Sync-Saver is a battery backup that protects your
RAM against power interruptions. Simple to use, well
engineered, it comes in 2 forms:
SVR-1. A rechargeable Nickel-Cadmium battery
(included) system to maintain 1K to 16K RAM in the
ZX80/ZX81/TIMEX for 1 hour. Batteries recharged
automatically. Complete - ready to use.
BASIC
HANDYMAN
BASIC sub routine that will streamline your program and save
your valuable time. Puts the experience of advanced pro-
grammers at your fingertips! SVR-2. An economical alkaline battery (not in-
cluded) system to maintain ZX80/ZX81/TIMEX with 1K
Sorting, searching, data files, display file handling, screen- or 2K RAM for 1 hour. No battery recharge.
save, graphs and special functions galore are given and com-
pletely explained. $6.95 pp.
Both systems feature added surge/transient
suppression, ON-OFF switch to reset or turn off com-
puter, and DC ON pilot light.
FREE TITLE CENTERING ROUTINE WITH
ORDER
Z WARE
P.O. BOX 111
ALBANY KTY 42602
ORDER NOW FOR CHRISTMAS
SVR-1 $49.00 SVR-2 $17.50
Prices include postage and handling in U.S.
Foreign orders add $2.00
Send check or money order to:
LUXTRON Inc.
241 Winter St., Haverhill, Mass 01830
92 SYNC Magazine
ber 2276-1396). I ended up with a great
board standing up on the back of the Sin-
clair. This looked fragile and ugly. A
better idea would be to use ribbon cable
from the computer plug to another, more
standard plug and plug-in type wiring
board. This also would allow boxing the
interface board.
2) Check all the connections with the
ICs out of their sockets with a multimeter
or continuity tester to eliminate shorts or
crossed connections.
3) Next I wired the address select chip
and a memory chip onto the board. Only
two ICs are required plus a 7441S08. The
wiring is simple, and the results are easily
verified. (Refer to the paragraph on add-
ing extra memory.) The wire-wrapping
tool simplified both the wiring process
and the subsequent unwiring of mistakes.
If adding the memory is successful, you
will have given yourself some extra mem-
ory to play with and gained some good
experience in wiring techniques.
Remember that on the wiring diagrams
the IC pins are numbered looking down
from the top whereas the wiring process
is performed from underneath. Try
writing the pin numbers beside a few of
the socket pins on the bottom of the perf
board so that you do not get confused
when you are looking at it.
Remember also to check the wiring
before you apply the power! After the
fact diagnosis, by observing which com-
ponents are smoking, is unprofessional.
4) Once you have given yourself a
morale boost by the memory addition,
you will be considerably more enthusiastic
about approaching the pile of ICs re-
quired for the actual I/O circuitry. The
order of the wiring probably does not
make much difference because without
expensive equipment the circuits cannot
be tested anyway. I proceeded with the
clock circuit, then the 8251, and the RS-
232 ICs, in that order.
5) The 9 volt power supply from the
Sinclair is perfectly adequate to power
the 1488 (pin 14). Connect pin 1 of the
1488 to the negative pole on a square 9
volt battery. Connect the positive pole of
the battery to the common ground (pin
7). You can achieve this same effect with
any type of power supply of similar
voltage.
6) After all the sockets are in place,
check the wiring very carefully before
plugging in the ICs and applying the
power. z
7) Testing the completed circuit board
should be as simple as attaching a modem
and trying out your software. If it does
not work, your only recourse is to pull
out all the ICs and go over the wiring
again very carefully. The only problems I
encountered (other than trial-and-error
mistakes during the circuit design stage)
were directly attributable to mixing the
pin numbers when wiring the com-
ponents.
8) The address select circuit can be
tested by changing the select lines on
your memory chips, then POKEing and
PEEKing at the new addresses. Note that
the power-up sequence of the Sinclair
will not accept the RAM at other than
contiguous addresses, but the POKE and
PEEK instructions will function properly.
9) The actual I/O circuit is much easier
to test if you can borrow an ASCII ter-
minal. With the terminal you have much
more control over what is going in and
out of the circuit. You can send and
receive one character at a time. Testing
with a modem to a remote computer gets
a bit tricky because of the longer mes-
sages which will be sent to you. Of course,
you can always get together with a friend
with a Sinclair, build two interface boards,
and hook them together for testing.
10) When developing the software to
drive this device, start off with a very
simple program in Basic. As you send or |
receive a character or string, use the
PEEK command to display the data in
memory and the contents of the USART
BARRICADE: HIGH SPEED ACTION GAME - $12.95
"BREAKOUT" for the ZX81! Break through the 5-wall
Barricade with the high-speed ball and keyboard
controlled paddle! Trap the ball among the walls
Select from
96 options (8 speeds, 4 paddle sizes, and 3
ball-angle limits) to challenge both expert and
beginner. 3 scores with the best of each saved to
100% machine
language, so it's fast! 8K/16K. Available now.
and watch it destroy the 100 blocks!
be challenged by other players.
ZXM-1: ZX81 MACHINE LANGUAGE MONITOR - $19.95
THE BEST VALUE NEXT TO YOUR COMPUTER
IS SUPPORTED SOFTWARE ON CASSETTE
ZX81 MX-PAC Ts1000
18 useful/fun programs on CASSETTE
make the small memory act like much
more-for the whole family..games..
files..lists..SUPER draw-on-tv,se-
curity codes..3-D motion and growth
Based on our popular RSM monitors for the TRS-80,
ZXM-1 provides over 15 commands with which you can
interact directly with the Z-80 processor in your
ZX81. You will have direct access to all memory
Locations and input/output ports. You may examine
your Basic ROM's, test RAM, enter and execute
‘machine language programs, and much more!
A symbolic dump command disassembles object code
in memory and displays it as Zilog standard Z-80
mnemonics! ALL relative addresses are computed
and displayed. This is a great aid to
understanding the operation of your ZX81 software.
Memory may be displayed in HEX, ASCII, or ZX81
characters. You can SEARCH, EDIT, MOVE, EXCHANGE,
VERIFY, FILL, ZERO or TEST memory. Pause, single
step or continuous dumps with memory display
commands. 16K only. Available Dec 15.
MALL or SMALL SYSTEM SOFTWARE
ARE Sra Post Office Box 366
a-m Newbury Park CA 91320
YSTEM Wa Phone: (805) 523-7295
November/December 1982
simulations..bar graphs..financial
helpers (loans,tax)+more+all BASIC
..all explained in Printout 1l..
an
1 extraordinary BOOK, Printout 1
shows how the 18 work and GROW and
-GROW.-.many ideas..even more line-
numbered add-ons for 2K and 16K
power-multilevel files,lists,games..
a keyboard "light-pen" that makes
draw-on-tv a powerful designing tool-
menu-driven programs-financ'l planner
..a complete recipe file (16K)..step
by-step build a checking account (16K)
-"unbreakable" codes and a challenge
THE GREATEST RANGE AND DEPTH OF ANY
SOFTWARE is only $24.95..Act today!
Send check or MO to ROBILL PRODUCTS
555 PARK AVE.,PATERSON,NJ 07504 ALL
ORDERS processed fifo. Please add
$2.75 p/h (lst class)NJ res.add 5%
control port to familiarize yourself with
the format of the messages and control
flags. By starting off simple, you can then
proceed to build more complex programs.
Programming Your Sinclair Terminal
The general steps required to transmit
and receive data may be related to Figure
2, the sample program listing. The actual
steps may vary depending on the specific
circumstances. For instance, if you are
communicating with another Sinclair, the
data do not have to be translated into
ASCII and back to the Sinclair Character
set.
Receiving Data
1) Initialize the control port to receive.
2) Check the Status Read flags for
RxRDY (a character has been received).
3) When a character has been received,
move it from the data port to memory.
4) Loop through steps 2) and 3) until a
message end character are received. The
message end character will depend on
whatever protocol has been decided
between the sender and receiver. Refer
to Figure 8 for the standard ASCII control
characters and their meanings.
5) When the message is complete, trans-
late the received ASCII characters to the
Sinclair character set and display the
result.
&a(sO66LERS
PUCKMAN FOR 16K ZX81
BEAT THAT HIGH SCORE!
GOBBLE THOSE DOTS
BEFORE THOSE MEANIES
GOBBLE YOU! YOUR ONLY
AIDES ARE FOUR “POWER
PILLS” WHICH MAKE THE
Figure 2.
Es SAMPLE PROGRAM BE
Ss pes, EM mas SET UP LABELS MEE
is
Cet D-C+1024
oe 8 REM fae INIT TO RECEIVE HES
100 REN BIEB T
11@ POKE AN
120 POKE .2@
295 R N READ ROUTINE MES
210 C=133 THEN GOTO 216
215 SAVE DATA IN Xs MEE
220 X&4+CHR$ (PE
240 K D=13 THEN GOTO 3e¢
305 TRANSLATE MSG MEE
320 FOR P=i TO LEN X
330 LET Y=CODE (X$(P TO P3}}
340 L Y=Y-27
S5@ IF Y:31 THEN LET Y=Y+7
360 ze Y<28 THEN LET Y=
365 TN PAEH pa ur EACH CHAR HE
370 PRIN CHRÈ Yi
380
338 PRIN
405 R A N GET MSG TO SEND Mm
INPUT XE
CL
420
Sas INIT TO SEND
3186 POKE Esi _
aoe
530 49
5a5 EG SEND MESSAGE WEE
610 G=1 TO LEN X
62e $I TO 0)
530 E È
635 TRANSLATE MSG
640 THEN LET
E
66a Yéz“ “ THEN LET v=3
635 REM Eme SEND EACH CHAR
700 IF PEEK Cc>i33 THEN GOTO 7G
710 POKE D.Y
apeti Q
EM pa SEND END OF TEXT Ee
PEEK (C¢2153 THEN GOTO SẸ
sae Te
POKE
WA Now READ AGAIN BE
Goro
MEANIES EDIBLE. BUT
NOT FOR LONG!
@ MACHINE CODED FOR FAST ACTION
@ EXTRA “GOBBLER” FOR 10,000 POINTS
@ON SCREEN SCORING
@ HIGH SCORE WITH “ENTER NAME” FACILITY
@UP TO 4 PLAYERS
AN ANNOYINGLY FRUSTRATING GAME!FOR ONLY $14.95
FOR 16K
ZX81
STAY ALIVE AS LONG AS POSSIBLE IN OPEN SPACE FILLED WITH FLYING ROCKS.
SCORE BY SHOOTING THEM — WHICH ALSO CAUSES THEM TO BREAK INTO LOTS
G/XS1 elkO
OF LITTLE BITS AND MAKES LIFE EVEN WORSE!
® MACHINE CODED FOR
FAST ACTION
® ON SCREEN SCORING
@ HIGH SCORE WITH
‘ENTER NAME’ FACILITY
@uP TO 4 PLAYERS
(NOT AS EASY AS IT
SOUNDS!)
@® SHIP MOVES JUST LIKE
ARCADE VERSION
ROTATE LEFT/ROTATE
RIGHT/THRUST
@EXTRA SHIP FOR 1,000 PTS @FIRESINALL8
@ INCREASING NUMBER
@® THREE ASTEROID SIZES
@'NASTY’ ALIEN SPACE-
Sending Data
1) Initialize the control port to trans-
mit.
2) Input a line (from the Sinclair).
3) Translate each character of the mes-
sage to ASCII.
4) Check the Status Read flags for
transmitter empty (TxMT).
5) When the transmiter is empty, POKE
the translated character into the data
port.
6) Send whatever end of message char-
acters are required by the receiver (LF,
ETX, CR, etc.; refer to Figure 8) onto the
translated message. Perform steps 4) and
5) for each control character.
This can just barely be done on a 1K
machine. Since putting additional RAM
on this board is a very minor matter,
there is no reason to stay with a 1K
machine anyway.
Figure 2 contains a small Basic program
whose only value in life is to demonstrate
the use of this circuit. It will receive one
line of data, then turn around and send
one line of data, and on, and on. The
messages are assumed to be under 80
characters in length and to consist of
nothing but numeric or alphabetic char-
acters. The program will work in 1K if all
the REM statements are removed and
the messages are kept under 40 characters
in length.
OMNI TEMPLATE
FOR ZX-80 and ZX-81
WHAT IS OMNI TEMPLATE?
It isa template program for generating other programs.
While developing programs, our staff needed a collec-
tion of general utilities to avoid the burden of repeating
the same routines over and over. This gave birth to
OMNI TEMPLATE. We found it so effective that we
decided to share it with others.
WHY SHOULD YOU HAVE IT?
It is a great training tool. It helps you.to develop a habit
of writing professional-looking programs rather than
rag-tag patch works. It makes programming fun.
WHAT DO YOU GET?
al programs:
You will receive a cassette tape of OMNI TEMPLATE
Program prerecorded and ready to use. Three addition-
RACING,
POINTS, which were developed by OMNI TEMPLATE,
are on the tape in addition to OMNI TEMPLATE. A
INDEX-CARDS and FIT-
complete listing of OMNI TEMPLATE and a well-
DIRECTIONS
$9.50,
OF ASTEROIDS It is
SHIP (FIRES BACK!)
THIS GAME IS JUST AS BAD!- AND ONLY $14.95
AN OFFER FOR REAL MASOCHISTS-BOTH TAPES FOR $24.95
MAIL ORDER ONLY-PLEASE MAKE CHEQUE/PO PAYABLE TO
THE SOFTWARE FARM DEPT C
IZ craico FARM, BOTANY BAY, TINTERN, awer AF
ENGLAND
94
Omni Technology
P.O. Box 10630
Pittsburgh, Pa 15235
PA resident please add 57 cents for PA sales tax.
documented manual describing how to use OMNI
TEMPLATE is included.
HOW DO YOU GET OMNI TEMPLATE?
if ordered before December 1,
becomes $14.50 after that. Please add $1.00 for shipping
and handling. Send money order or check to:
1982. It
SYNC Magazine
Mode Set for the USART Control Port
To initialize the USART, first send it
an internal reset. This must be followed
by a mode set, then the required control
command. All of these steps are accom-
plished by POKEing the correct values
into the address at which the control port
has been wired.
The values of the various bits in the
Mode Instruction are shown in Figure 3.
Take the decimal value given for each bit
to be on in the instruction, and add them
together to obtain the value to be POKEd
into the Control Port address. The Basic
code is from the sample program in Figure
2.
For example,
10 LET C=21508
(address of USART control port)
20 LET D=C+ 1024
(address of USART data port)
30 LET M=123
(mode setting)
When using this circuit connected to a
telephone modem dialed to the DATA-
PAC network, the mode setting is 123d,
or 7Bh. Referring to Figure 3, this trans-
lates to:
1)1 stop bit (S2=0,S1=1:bit value=64).
2) Even Parity (EP=1 : bit value=32).
3) Parity checking Enabled (PEN=1 :
bit value= 16).
Now you can organize your copies of
| SHELF CONSCIOUS?
SYNC
4) 7 bits/character (L2=1,L1=0 ; bit
value=8).
5) BAUD rate =300, 1/64 data clock
rate (B2=1,Bi=1 : bit value=3).
Adding these bit values together we
get: 64+32+16+8+3=123.
~ USART Command Instructions
Command Instructions are used to
specify to the USART what operations
you require that it perform. In this circuit,
we are mainly interested in READ and
Write DATA, and can ignore the device
control commands.
100 POKE C,64 force an internal
reset of USART
110 POKE C,M reset mode setting
see above
120 POKE C,20 initialize for
receiving
The command value 20 above is derived
from Figure 4 as:
1) Error Reset (ER = 1 : bit value 16)
2) Receive ENable (RxEN = 1 : bit value
4)
Adding these bit values together we get:
16 + 4 = 20. Or,
510 POKE C,64 force an internal
reset of USART
520 POKEC,M reset mode setting
see above
530 POKE C,49 initialize for
transmission
The command value 49 above is again
derived from Figure 4 as:
1) Ready to send (RTS = 1 : bit value 32)
2) Error Reset (ER = 1 : bit value 16)
3) Transmit ENable (TxEN = 1 : bit value
1)
Adding these bit values together we get:
32 + 16+ 1 = 49.
Checking the USART Status Read Flags
The Status Read Flags on the USART
are set by that unit depending on what
you have instructed it to do by the last
command sent to the Control Port. These
flags are presented at the Control Port
after a data character has been read, ora
character transmitted. The problems
occur here because the Sinclair Basic
language is limited to testing byte values,
and the flags are actually separate bits.
I have been unable to dream up a bit
checking algorithm in Basic which is fast
enough to keep up with receiving data,
even at only 300 BAUD. The labels
“C” (Control port), and “D” (Data port)
are as defined in the sample program
listing, Figure 2. The Basic instructions as
coded will work perfectly well at 300
BAUD until there is a transmission error
(not common at all at that speed). As
soon as a transmission error occurs, extra
status bits reflecting the problem are set,
and the program will loop. At that point,
THE DIGGLES KITCHEN
NEW - UNIQUE SOFTWARE FOR THE
ZX81 - 16K
Now your magazines can be a handsome addition to your decor,
well organized, and easy to find, thanks to these durable li-
brary-quality cases or binders. They’re made of luxury-look
leatherette over high-quality binder board. And both styles are
custom-designed for this or any other magazine you save, with
size, color and imprint selected by the publisher. FREE transfer
foil included for marking dates and volumes.
-. For faster service, CALL
Ja TOLL-FREE 24 HOURS: 800-345-8112.
-æ (In PA only: 800-662-2444.)
Magazine binders *
| P.O. Box 5120, Philadelphia, PA 19141
| Please send: |] Cases [_] Binders
TITLE QUANTITY
Sync
Other:
hold a year's issues on [C] PAYMENT ENCLOSED $ ~ Add
$1.00 per order for postage and handling. Out-
side USA add $2.50 per unit ordered; send US
individual snap-in rods,
combining them into
|
|
|
| |
| |
| |
| |
Mixed titles OK for quan- | [C] CHARGE (Minimum $10): |
| |
| |
| |
| |
|
|
|
one volume. $7.95 each; funds only.
3 for $22.50, 6 for $42.95. y
tity prices. [ ] American Express [ ] MasterCard
Visa
Open-back cases O
Cad No m one a OE: Date
Signature
Print Name
| Address
i City
store your issues for individ- 3
ual reference. $6.95 each; 3 | ee
for $19.75; 6 for $37.50. Mixed Residents of PA add 6% sales tax. B
titles OK for quantity prices. pi N e EAE ADA a A la T RE MEE A ea
November/December 1982
Original recipes from simple suppers to celebration dinners, compiled by
John and Angela Diggle for Micro Computer Software UK.
Cassette 1. 28 WORLD WIDE RECIPES including traditional
English dishes like - Lancashire Hot Pot
Steak and Kidney Pie.
Cassette 2. 26 EUROPEAN RECIPES including main meals,
vegetables and desserts like -
Braised Steak in Guinness
Courgettes Natural
Crepes Suzette
Cassette 3. 28 EVERYDAY FAMILY MEALS. Looking for
something different but inexpensive? like -
Onion Soup Gratinee
Lamb Stew
Stuffed Marrow
Available soon Cassette 4 - Indian Cookery and Cassette 5 - Chinese
cookery. You can build up a world wide cookery book of original recipes
on cassettes. i
Price per Cassette - ONLY $9.99
gift
a most acceptable Christmas
Send your remittance to - THE DIGGLES KITCHEN
MICRO COMPUTER SOFTWARE UK
UNIT D.6 PEAR INDUSTRIAL ESTATE,
STOCKPORT RD, LOWER BREDBURY,
STOCKPORT SK6 2BP. ENGLAND.
Please add $2. per order for air mail.
95
RTS
SBRE
Rx EN
DTR
TXEN
96
ws we
Figure 3. 8251 USART Mode Instruction Format.
Dé DS D4 3 D2 Di DO Bit Number
64 ae 16 og O4 02 O1 Value (decimal)
4) 20 10 08 O4 O2 O1 Value (hex)
Si EP PEN. L2 1 B2 Bi Label
= | MEANING ae Li MEANING
O Invalid 8) © 3 bits
1 i stop bit © i 6 bits
Q 1 1/2 stop bits 1 Q 7 bits
© 2 stop bits i 1 8 bits
MEANING EF MEANING
Enable 1 Even parity
Disable 8) Qdds parity
Ri MEANING
© invalid
1 data clock / ił
Q data clock / 16
1 data clock / 64
Figure 4. 8251 USART Command Instruction Definition.
Dé DS D4 S D2 Di DO Bit Number
64 32 16 08 O4 O2 O1 Value (decimal)
40 20 10 0B 04 O2 Ol Value (hex)
IR RTS. ER SBRK RxEn DTR TXEN Label
not used (synchronous mode only).
Internal Reset.
1 = reset the USART control port.
Ready to Send modem control.
(not required)
Error Reset (the USART will still run with errors).
1 = reset error status flags.
Send BReak (to interrupt incoming transmission;
used only in sophisticated time sharing type
applications only).
1 = send break.
Receive ENable.
1 = get ready to receive data.
Data Terminal Ready modem control.
{not required)
Transmit ENable.
1 = get ready to send data.
nothing else will happen, and you will
have to thump on the BREAK key, and
rerun the program.
Receiving data:
210 IF PEEK C=133 THEN GOTO
210
220 LET X$=X$+CHR$ (PEEK D)
Line 210 waits for the incoming char-
acter and loops itself until “RxRDY”
(Figure 5) is turned on by the USART.
The initializing of the USART will always
result in a value of 133 for the flags (DSR,
TxMT, and TxRDY) when in receive
mode —a total value of 133.
Line 220 gets the received character
value and is executed when something
happens (either a valid character was
received or an error condition posted).
Since speed is of the essence at this point,
to avoid data overrunning your program,
the best bet is to ignore checking the
error flags entirely and depend on the
screen display alerting you to the error.
Now that the Data Port (PEEK D) con-
tains the received character, you can do
with it what you want (always bearing in
mind that you do not have any time to do
anything much with it). If you write your
terminal program in assembler or machine
code you can do an incredible amount of
processing between characters at 300
BAUD.
Transmitting Data:
700 IF PEEK C=133 THEN GOTO
700
710 POKE D,Y
Line 700 waits for clear status.
Line 710 transmits the character value
to Data Port.
In this example, we wait for the ready
to transmit flags to be posted by the
USART in the Control Port. The value
133 is again derived from the total of
DSR, TxMT and TxRDY. When (and if)
this set of flags and no others are set, we
proceed to line 710, which places the
value of the character to be transmitted
(in operator label “Y”) into the Data Port.
As soon as your program does that, the
USART will turn off flag TxRDY, and
possibly TxMT until it has disposed of
the data character, at which time it will
turn the two flags back on again ready for
the next character. (Your Basic program
will be hard pressed to keep up with this
sequence of events, but there are no time
constraints when you are the sender.)
Adding RAM
Figure 6 shows a circuit diagram for
adding extra RAM to your Sinclair by
using the Chip Select lines which are not
required for the USART circuit. Again,
this follows the example from David
Sommers’ article “Experiments in Mem-
ory and I/O Expansion.” I have shown
only a 2K x 8 bit 2016 which is addressed
as locations 17,408 to 19,455. The same
principle applies for adding extra RAM
SYNC Magazine
_—(itststs—‘“‘NCNSOFFiggturre:'5. 8251 USART Status Read Definition.
D7 Dd DS D4 DA D2 Di DO
Bit Number
128 64 sae. 14 O8 O4 On Ol
Bo 40 L 10 O8 O4 On Ol Value (hex)
DSK -= SYNDET FE OE PE- EMT RY RDY sae RDY Label
DSR ; Data Set Ready.
1 = modem is up.
SYNDET ; Break received.
i = break was received.
FE ; Framing Error.
1 = invalid character received; probably timing.
Ob. 3; Over-run Error.
1 = data was received faster than your program
accepted it; data was lost.
FE ; Parity Error.
1 = transmission error, or parity differs between
send and receive circuits.
TxMT ; Transmitter eMpTy.
1 = buffer ready to send another character.
Rx RDY s Receive buffer ReaDyY.
1 = received data character ready to be accepted
by CFU.
TxRDY ; Transmitter ReaDY to accept another character.
1 = ready to send another character.
Figure 7. RS-232 Standard for 25 pin “D” connector.
FIN USE (USART) CONNECT TO
pe Received data pin i an 1489
= Xx Transmit data pin ii on 1488
i x Signal ground CFU ground
7 X Signal ground CPU ground
6 Data Set Ready pin 4 of 1489
ra Clear to send pin 19 of 1489
20 Data Terminal Ready pin 8 of 1488
4 Ready to Send pin ó of 1488
1) The pins marked with an asterisk (xX) are required, the
others are optional, but may, if omitted, cause error conditions
to be posted by the USART.
2) This pin configuration is for a male ""D** connector,
which assumes that the Sinclair is to be attached to a standard
RS-232 modem.
Figure 8. ASCII Terminal Control Characters.
ID HE X DEC DESCRIF TION
Cr OD ES Carriage Return: usual end of message code
LF OA 10 Line Feed: sometimes precedes CR
NULL OO OO Null data: used after LF for timing
Standard protocol when a computer is communicating with a
terminal is to conclude each line of data with:
1) A carriage return (CR) to move the cursor back to the
left hand side of the screen or carriage.
2) A line feed (LF) to scroll the screen up 1 line, or
advance the paper 1 line.
3) One or more nulls (8 hex zeroes)--these are only to give
a mechanical terminal time to finish returning the carriage far
the next line.
November/December 1982
Value (decimal ) — Figure 6. Additional RAM Wiring Diagram. —
CPU
=| =
1C2
modules beyond this range, just use the
Chip Select lines in order as they are
numbered so you do not leave any “holes”
in the RAM _ addresses. I used
TMM2016P-1 chips by Toshiba, but any
high-access speed similar chips will do as
well. (The 2016P-1 has a 100 nano-second
access time).
These are extremely simple to wire:
the address and data pins of the chip go
straight to the identical pins on your plug
for the back of the CPU, the two Chip
Select lines (because this is a 2K chip) are
combined with a 74LS08 and thence to
the Chip Select pin of the RAM IC, and
power. and ground as appropriate. The
entire wiring operation only takes about
15 minutes.
Testing the chip to see that it is opera-
tional is just as simple. First, double check
your wiring (these are $10 chips), then
fire up the Sinclair, with the chip OUT of
the socket. PEEK location 16389 and
remember the value. Power off the
Sinclair, press the IC into the socket (right
way round, of course), and again power
up the Sinclair and PEEK the same loca-
tion. If everything is correct, you should
notice a slightly longer delay before the
cursor shows on the screen as the ROM
routines check out the new core, and
location 16389 should contain a value 8
higher than the value you noted
previously. (This location incidentally, is
where the ROM power-up routines save
the address of the last useable byte of
memory).
If this is not the case, verify the wiring
again, especially the Chip Select lines.
Try POKEing and PEEKing various
locations inside the address range of the
new chips. See if the POKEd values act-
ually remain in memory, or if they change
in a regular sequence (data lines crossed).
Crossed address lines will result in POKEd
values going to another location in the
address range which is harder to pin
down. If there is no power to the chip,
the address locations will reflect back
either “0? or "255":
97
8K ROM
1K RAM
Building Heat Load
John E. Reinhardt
Although energy conservation has be-
come a buzz word in recent years, we are
constantly reminded of the need to con-
serve energy by our monthly electric and
heating bills. We are urged to upgrade
our home energy systems by buying more
insulation, adding solar heating, and in-
stalling more efficient electric and heating
equipment.
Making such choices requires taking
many variables into account if we are to
avoid ending up spending more money to
upgrade than the upgrading will save. This
article gives a program for calculating
your building heat load. You may not
find all the answers, but you can get a
preliminary comparison of some of the
options.
The program is designed to find the
heat load by solving two equations.
The first equation is
Q= a AAT
where
Q = Heat flow rate (Btu per hour).
R = Heat flow resistance (hour x
square feet x degrees Fahrenheit divided
by Btu).
A = Area of walls, ceiling, etc. (square
feet).
AT = Average temperature difference
between the inside of the wall and the
outside (degrees F).
The second equation is
Q= pVCpATL
where
Q = Heat flow rate (Btu per hour).
p = Density of air (0.075 16 per cubic
foot).
V = Air infiltration rate (cubic feet per
hour per feet of crack).
Cp = Specific heat of air (0.24 Btu per
pound).-
John E. Reinhardt, 230 Pine Ridge Rd., Madison,
AL 35758.
98
AT = Average temperature difference
between inside air and outside air
(degrees F).
L = Crack length (feet).
The variables needed to run the pro-
gram are as follows:
TI = Average inside temperature (de-
grees F).
T = Average ground temperature or
outside temperature (degrees F).
R = R value of floor, ceiling, walls, or
windows (hours x square feet x degrees F
divided by Btu).
è
2 a
ro a m
y ; `
4
i d g
- aed j
ta La
N
\
\
AA \\
À
A = Area of floor, ceiling, etc. (square
feet).
CL = Crack length (feet).
IR = Infiltration rate (cubic feet per
hour per foot).
Q = Heat load (Btu per hour).
Table 1 lists the R values for computing
the heat loss, and Table 2 lists the infiltra-
tion rate data.
Enter the program on your computer,
SAVE it, and then hit RUN and ENTER.
The program will then ask for the data.
Your data will appear on the screen.
Table TR Value; oo me a E ne eee)
Material
Window
Double Pane
Window
Table 2. Infiltration Rate (cubic ft/hr/ft).
Crack Location
Average Window
non-weatherstripped
Poor Fitted Window
non-weatherstripped
Poor Fitted Window
non-weatherstripped
Wind Velocity, MPH
SYNC Magazine
When the screen fills, hit CONT and
ENTER. Continue adding data as called
for. The Building Heat Load is the final
number printed. Analyze each option
you are considering with this program,
and then you can decide which option
will give the results you want.
The program can be readily expanded
for 16K RAM. Tables 1 and 2 could be
listed in the program enabling the user to
compute the variables.
The following list of data will enable
you to try out the program:
TI = 70
T (ground) = 50
T (outside) = 30
R (floor) = 2
R (ceiling) = 20
R (wall) = 10
R (window) = 1.7
Crack length = 300 ft.
Infiltration rate = 13
A (floor) = 1500 sq. ft.
A (ceiling) = 1500 sq. ft.
A (wall) = 1200 sq. ft.
A (windows) = 200 sq. ft.
The heat load for this set of data is
30313.882 Btu/hr. One kw equals 3.413
times 10° Btu/hr. Thus the heat load
equals 8.88 kw. Given a 30 day period
and electric heat at a cost of 5 cents per
kwh, this amounts to $319.68. a”
At last Your Chance To
Coch Th
ya
ebug Oe 46K
>
="
e
e
ee e
e
=
z:
oe
N
Q NN
N
533
<>
a
e
e
e
z.
QZ
ZZ
s
23
2525
Sos2
$5
S23
os
<
S25:
<:
>:
Q
Q
T Q
ELEC Rss
2"
Soe =
3
Bi
Ld
cH
eee
sse CUAS CCE
esee CCU tT SON OT aaa aaa
eee a CV TT OL Lae aaa
e P T si
OT
Listing 1. Building Heat Load Program.
20 LET @F=NOT FI 3
3@ PRINT “INSIDE TEMP ;
4@ INPUT TI
S@ PRINT TI
6@ FOR M=SGN PI TO VAL "4"
70 LET N=M+NOT PI
189. IF M>=INT PI THEN GOTO VAL
@@_ IF N=SGN PI THEN PRINT “GRO
pa
‘UND TEMF. ż
110 IF N=VAL “2” THEN PRINT “OU
TSIDCE TEMP “";
130 INPUT
166 IF M=VAL "2" THEN PRINT “CE
IL ING"
ne IF M=INTF PI THEN PRINT “WAL
Line notes:
20 Initialize heat load.
40 Input building temperature.
130 Input ground or outside air tem-
perature.
200 Input heat conduction terms.
e Machine Code
whos. M=VAL “e” FHEN PRINT
19@ PRINT “R VALUE ";
INPUT
220 PRINTF “ARER ";
INPUT
NT A
S@ LEFT @=Aze (FI-TF)} ZR
260 LET @QT=8T+@
270 NEXT Ħ
28380 PRINT "CRACK LENGTH”
290 INPUT CL
300 PRINT CL
3186 PRINT “INFILL RATE"
320 INPUT IR
330 PRINTF
350 LEF @=OQT+
ee PRINT “HEAT LORD,
BTU/HR:
230 Input surface areas.
290 Input crack length.
320 Input infiltration rate.
340 Compute infiltration.
350 Sum heat loads.
370 Printout heat load.
ZX81 and SPECTRUM OWNERS
æ% If you are interested in finding out how a computer really works
and want to experience true programming power -the machine
Code Test Tool is the answer.
x% The Machine Code Test Tool is a utility program which comes
complete with tutorial course enabling you to enter, test, display
and debug hexadecimal machine codes simply and quickly.
% The Machine Code Test Tool is constructed to help the absolute
beginner who wishes to explore this fascinating subject, or the
expert keen to polish up his machine code programs.
program as standard.
Allow up to 28 days for postage
E E ae ae
* A HEX: decimal conversion routine is contained within the
E E E E E E E ee ee E â E
Post to: R. L. ASSOCIATES, 614 W. Manchester Bivd., Inglewood, Cal. 90301
A Please rush................ZX81.M.C.T.T. at $19.95 ($25.95 Canada)
Send payment to above address
R.L. p
E fF fF fF fF Ff of gy
"try
8K ROM
16K RAM
Random Walks
Eric Chandler
Most students of statistics are familiar
with the “Random Walk” problem: A
person passes through a series of doors
and after each he is presented with the
choice of turning right (with fixed prob-
ability P) or turning left, and thereafter
encounters another door. If, say, there
are 9 levels of doors, the possible out-
comes may be characterized by the num-
ber of times X he turns right, from X =0
to X=8. We can find the probability of
each of these outcomes by the formula
Pr(X) = ($) PX(1-p) 8-*
and the resulting distribution is called
“binomial.”
The most commonly seen of these dis-
tributions result when P=: The so-
called “bell shaped”? carve which can be
approximated by the normal function
yY=__1 _ {X=\2
oy 2m. © ( y )⁄2
where the mean u =P and the standard
deviation
= VP (1-P).
An exceedingly clever device called
the “Hexstat” illustrates this distribu-
tion. A large number of small steel balls
in a transparent casing roll down
through a cascade of bifurcated channels
and collect in 9 columns in the familiar
bell shape.
A program “Random Walks” for the
ZX81 duplicates the Hexstat. It is an
eye-catching, pretty display and very ef-
fective as an instructional device. Over a
period of 15 minutes or so a series of
“balls” falls down through a cascade or
sieve to form 9 columns whose heights
are proportional to the respective proba-
Eric Chandler, RMWC, Lynchburg, VA 24503.
100
START
CROBABILITY
JF RIGHT i>?
TURN=0. 7
RANDOM
C ed
WALKS
ee
REM “RANDOM WALKS'.LINE 3 Ü
SES “GRAPHICS E.
2 R N=@ TO i
3 PRINT AT SIN, e; IPO; 2s (NER)
4 NEXT N
S PRINT AT @, 10; “START:
RANDO
6 FOR N=44 TO 5S
7 PLOT N,4i
a NEXT N R
9 PRINT AT 2,25; “WALKS
1@ FOR N=5e@ TO 59
12 NEXT N
213 FOR N=1 TO 9
ids LET Y=43-24N
146 LEF X=28-33N
18 FOR M=1 TO Nt
20 FOR F=i TO 3
22 LEF X=X+i
24 UNPLOT X,Y
26 NEXT T
28 FOR T=1 TQ 3
30a L xX=X+1
32 PLOT X,Y
34 NEXT TF
36 NEXT Ħ
F TF 8
42 PRINT AF 21,57324N;N
45 PRINT ATF 20,30; "xX"
46 PRINT AT 12,8; “ENTER PROB.’
28; "OF RIGHT i>)’
+ TURN"
F Se ‘OF RIGHT t>)”
+ 2 ser
7@ LET S=SGN (RND-PR?
72 IF S=8 THEN GOTO 70
74 FOR N=1 TQ 3
TO 7e@
98 FOR N=2 FO AT iX-3} 75?
1@@ UNPLOT X,Y
162 LET Y=¥-i
104 PLOT X,Y
NEXT N
183 LEF Rttix-3
221@ IF AC (X-3}
112 GoTo 66
FOR N=1 TO 128
116 NEXT N
120 FOR L=8@ FQ 8 SFEFP 2
Q 29
23 2 LINES USE GRAPHI
CS: INV.VIO.P,7 AND SPACE, S.
2 463 =At {X-32 “Bi -Z
£63 =@ THEN GOTQ 2
124 PRINT AT L.C; ” Be
426 PRINT ATF £434,C: fe”
128 FOR N=1 To 3
135 REM NEXT LINE USES GRAPHICS
14@ PRINT AT £41,042; “a”
NEXT C
144 PRINT ATF L,.3@;” Ep
146 Raeser AT £41,038," =
149 PRINT AT 7,18; a” rg
i152 NEXT N
153 PRINT AT 3,19; "p`
iS4 PRINT AT G, oo. E
155 PRINT AT 7, hs a
156 PRINT AT &,22;" z”
i162 R=
LEF a
164 FOR M=1 FO 2
168 LEF RA=-24-A(M) +Ë
NEXT M
176 PRINT AT 2,0; "THERE WERE ";
A; BALLS IN ALL.
INT “FOR EACH OUTCOME X UW
PUT
“150 “PRINT “THE EXPECTED NUMBER
OF BALLS "
182 PRINT “E(X BY THE BSINONTAL
FORMULA AND”
183 REM NEXT LINE USES GRAPHICS
184 PRINT “GRAPH WITH THE HISTO
188 FOR XxX=0 TO 8
19@ LET N=8
192 GOSUB See
LEF EFSF
196 LET N=X
198 GOSUB 3AB
LET Meee
2@2 LET N=8-x
204 GOSUB 38A
E 234
zi IF ESS INT Era?) THEN Saro
216 FOR Y=21 TO Be-Eve STEP -1
217 REM NEXT LINE USES GRAPHICS
‘218 PRINT AT Y, 34X42); "HE"
. xF Y
222 GOTO 236
224 FOR Y=21 TO 22- (E-1?} ve STEP
1
a REM NEXT LINE USES GRAPHICS
226 PRINT AT Y,3#tX+1); og
5230 PRINT AT 22-(E+1)7/2,3#(X+1}
232 GoTo 236
333 REM NEXT LINE USES GRAPHICS
234 PRINT ATF 21,324 0%4+122 3 "me"
382 FOR m=i
SYNC Magazine
bilities of the outcomes. When the tallest
column reaches the bottom of the sieve
the process stops. By entering different
values of P at the beginning of the pro-
gram, distributions skewed right or left
may be produced. A typical display at
this point is shown in Figure 1.
After a short pause (whose duration
may be adjusted at line 114) the program
continues. The top part of the display is
eaten up by a little gobbler who finishes
it off with a humorous embellishment.
The total number of balls involved is cal-
culated and the expected number of balls
in each outcome is computed by the bi-
nomial formula and displayed in a con-
trasting histogram alongside the actual
outcomes.
To execute the program after it is en-
tered or loaded, hit RUN, and the fixed
part of the display will be drawn. The
program then asks for the probability of
a right turn (your right) and a number
between 0 and 1 inclusive is entered. The
rest of the program runs without
interruption. | a"
STOCK MARKET
PRICE
ANALYSIS
HELP! for the
Small Investor
Now SINCLAIR ZX-81 (16K) owners can do what the professional market traders
Figure 1.
THERE NERE 7S GALLS IN ALL.
FOR ERCHR OUTCOME X VE COMPUTE
THE EXPECTED NUMBER OF BALLS
£X) BY TRE SINGHIAL FORMULA AND
GRAPH WITH TRE HISTOGRAM W.
00 NIFTY 1K
PROGRAMS FOR
THE 2X81
A large variety of great games, interesting activi-
ties, and plenty of graphics, providing hours of fun
do — use a computer to predict price direction. This program tracks up to six stocks,
averages, or commodities, and produces graphs and uses technical indicators to
help you make trades.
Technical analysis is based on two ideas: first, that the market, like the rest of
human behavior, repeats itself; and second, that there are professionals and in-
siders who know what the market is going to do before everyone else does, and who
place trades in a way that is hardly noticeable. TECHNICAL ANALYSIS attempts to
read the price action and volume figures to determine whether predicable patterns
are developing, and what the professionals are doing.
Professional traders have been using computers to make this kind of analysis for
years, because the manipulation of the data is very complicated and time-
consuming. With this program, you let the computer do the work, and its signals
become a powerful investment tool.
The program makes GRAPHS of the daily prices, of two moving averages, and of
a volume indicator. A booklet that comes with the program helps you learn what to
look for.
The program does an ANALYSIS to signal trend-formation and tum-arounds. It
gives a score for each indicator, and a total score, to help you see whether there is
confirmation among the signals.
USE THIS TO TRADE STOCKS, OPTIONS, AND THE NEW STOCK INDEX
FUTURES!!
This gives POWER TO THE SMALL INVESTOR!
For program tape and booklet send $30.00 to:
NOOTER STOCK PROGRAM
320 East 25th Street
New York, N.Y. 10010
(N.Y. residents, add $2.48 sales tax.)
November/December 1982
for the whole family.
Also available
50 nifty programs
for your
Timex Sinclair 1000.
Same great programs, but upgraded for 2K
machine. The result is very user friendly with
additional levels of play.
$9.95 each includes
postage/handling
Listings and cassettes available:
send sase for free catalogue.
JENN PRODUCTS
BOX 246
HARRISON, ME. 04040
101
8K ROM
1K RAM
Part 2
Block Transfers: Variables Transfer
John Hoagland-Scher
The Problem of Saving Variables
One drawback of Timex/Sinclair com-
puters is that LOADing a program erases
any data that you have in the variables
area to make room for in-coming vari-
ables. However, the program developed
here allows you to keep variables in the
machine safe from NEW, CLEAR, and
LOAD. Furthermore, it allows you to
transfer variables from one Basic program
to another. This spares you the effort of
re-entering a data base in each new pro-
gram that you wish to use it in. You can
even combine data stored in several dif-
ferent programs into a single data base, a
facility you may desire should you up-
grade your computer with additional
memory. The heart of the Variables
Transfer routine consists of block trans-
fers to and from the space above RAM-
TOP of the sort we began exploring in
Block Transfers, Part 1, in the last issue.
Those of you who completed Part I
will have an easier time understanding
the workings of the machine code pre-
sented here. However, even if this is your
first attempt at a machine language pro-
gram, you can cook-book your way
through without much trouble. Chapters
24 through Appendix A of the Sinclair
manual or Chapters 23 through Appendix
A of the Timex/Sinclair manual and Dr.
Ian Logan’s article “An Introduction to
Machine Language” are useful, but not
essential references. (See SYNC 1:6 or
the SYNC special issue.)
The Variables Transfer Routine
Because Timex/Sinclair users now have
anywhere from 1K to 56K of RAM, the
Variables Transfer routine was written so
that it will operate at any location in
memory. In fact, the program modifies
itself according to where it is located in
memory, and according to how large the
variables are that you wish to transfer.
You do not have to change a single byte.
As in Part 1, the block transfers used
John Hoagland-Scher, 222A Hamilton St.,
Cambridge, MA 02139.
102
here employ the LDIR instruction of the
Z80(A). Recall that LDIR uses three reg-
ister pairs, BC, DE, and HL, in the follow-
ing way. Initially the BC pair holds the
number of bytes (#bytes) to be transfer-
red, the DE pair holds the first address of
the destination block of memory (dest’n)
to which information will be transferred,
and the HL pair holds the first address of
the block of information that you wish to
transfer (source). The LDIR instruction
transfers the contents of the address held
in the HL pair to the address held in the
DE pair, then it increments (adds 1 to)
HL and DE, and decrements (subtracts 1
from) the BC pair. It then compares BC
to zero,, and if BC is not equal to zero,
the instruction is repeated. Otherwise the
next instruction is executed. Thus the BC
pair is a count-down register which reach-
es zero when the entire block has been
transferred. Examine the blocks labeled
A, C, F, and G in Figure 2. For now just
look at column 5. Each of these blocks is
a block transfer routine illustrating the
use of the three register pairs and the
LDIR instruction as just described. I will
explain more about these blocks, and
about how the program modifies itself
later. Right now we should get down to
business.
An Overview of the Process _
In summary, what we will do is load a
machine language routine into the space
above RAMTOP, then transfer it to a
SAVEable REM statement for future
use. Then we will put it back up above
RAMTOP and illustrate its uses with a
pair of simple Basic programs. Before
beginning you must reserve enough space
above RAMTOP to accomodate the Var-
iables Transfer routine (block D, figure
2), along with blocks A and C which will
eventually be dispensed with. To do this,
change RAMTOP to 17302 by typing
POKE 16388,150 and ENTER, then
POKE 16389,67 and ENTER, then hit
NEW. Even if you have additional mem-
ory, you must load the machine language
into the addresses in column 1 in Figure 2
initially, although this will not restrict
future use of the program, so set RAM-
TOP to 17302 as above.
Beginning with Hex Loading
Now enter the hex loading program
shown in Figure 1. This program is iden-
tical to the loading program that we used
in the last issue, with the exception of the
address in line 280, 17302. When you RUN
this program, the screen will prompt you
for a byte in hexadecimal. Begin entering
the bytes listed in column 4 in Figure 2
(i.e., enter two digits from the column at
a time as follows: type 01 and ENTER,
then 5C and ENTER, 00 and ENTER, 11
and ENTER, and so on until you have
finished entering the entire column, then
type END and ENTER). Note that the
program gives you a back-space key, ‘/’,
in case you ENTER the wrong byte. Re-
member also that in a hexadecimal listing
like that shown in column 4, Figure 2, 0 is
always a zero and never the letter 0.
Once you type END and ENTER, you
can check to see that you did not leave
any bytes out by typing PRINT PEEK
17405. The number 201 should appear on
your screen (201d = C9h). Now SAVE
the hex loading program for future use,
then type NEW and ENTER to clear but
the memory. Put the machine into FAST
mode and enter a REM statement with 92
X’s (i.e type 1 REM XXXXX .. .etc.,
then ENTER). You can change back to
SLOW now. Note that the first X in the
REM statement is at the address 16514.
Now look more closely at block A,
column 5 and 6 of Figure 2. Convince
SYNC Magazine
yourself that block A transfers block B
from the addresses in column 1 to the
addresses in column 2, the REM state-
ment addresses. Call the routine in block
A by typing RAND USR 17302 and
ENTER, then ENTER again. Your REM
statement should now contain the char-
acter representation of the bytes in block
B (see Appendix A of your manual). The
Figure 1.
1 REM FROM BOOTH, SYNC VOL.2,
NUMBER 1
200 LET V=-1
210 LET V=V+1
220 IF INT (V/50)*50=V THEN CLS
230 INPUT H$
240 IF H$="" THEN GOTO 230
250 PRINT H$;"#4"; |
260 IF H$="END" THEN STOP
270 IF H$="/" THEN GOTO 300
280 POKE 17302+V,16*CODE (H$)+C
ODE (H$(2))-476
290 GOTO 210
300 LET V=V-1
310 GOTO 230
last character in the REM statement
should be TAN if all has gone properly. If
your REM statement remains full of X’s,
you had better PRINT PEEK a few
addresses between 17302 and 17313 to be
sure that you entered block A properly.
Now that the Variables Transfer rou-
tine is in a SAVEable REM statement,
SAVE it under a name such as
“VARIABLES TRANSFER?” or some suit-
able shorter mnemonic. Be sure your
SAVE was successful.
Using over 1K RAM
At this point those of you with more
than 1K RAM can begin to take advant-
age of it. The demonstration programs in
Figures 3 and 4 require about 115 bytes
above RAMTODP, but so that you can try
out larger applications, reserve 156 bytes
above RAMTOP by typing POKE
16388,100 and ENTER, then POKE
16389,67 and ENTER, then NEW. If you
have additional memory, you may want
to reserve several hundred bytes at the
Figure 23
REM
Loading Statement Operating Object
Addresses Addresses Addresses Code Instruction Comment Blocks
17302 015C00 LD BC,#bytes 005Ch=92d
17305 118240 LD DE,dest'n 4082h=16514d :
17308 214243 LD HL,source 43A2h=17314d A
Lift ek EDBO LDIR blk B transfer :
17313 c9 RET return
17314 16514 O14F00 LD BC,#bytes OO4Fh=79d to
1791716517 218F40 LD HL,source 4O8Fh=16527d :
17320 16520 ED5BO440 LD DE,(dest'n) 4004n=RAMTOP C
17324 16524 EDBO LDIR blk D transfer
17326 16526 C9 RET return yoy
17327 16527 RAMTOP DDE5 PUSH IX save initial IX: +: i
17329 16529 +2 2A0440 LD HL, (4004) RAMTOP in HL : to:
17332 16532 +5 E5 PUSH HL HL to IX ae ee Ba
17333 16533 +6 DDE1 POP IX RAMTOP in IX ee ee
173350 16535 +8 014F00 LD BC,OO4F OO4Fh=79d T an mer
17338 16538 +11 09 ADD HL,BC addr.of blk Z H : :
17339 16539 +12 DD753A LD (IX+3A) ,L dest'n to blk F
17342 16542 +15 DD743B LD (IX+3B) ,H dest'n to blk F
17345 16545 +18 DD754A LD (IX+4A) ,L source to blk G
17348 16548 +21 DD744B LD (IX+4B) ,H source to blk B_:
£73515 46554 +24 E5 PUSH HL save addr.blk Zs: :
17352 16552 +25 2A14h40 LD HL, (4014) 4014n=E LINE 2 bof
17355:6555 +28 ED4B1040 LD BC, (4010) 4010h=VARS ae: See Be
17359 « ¥6559 +32 ED42 SBC HL,BC E_LINE-VARS ee
17361. -16561 +34 2B DEC HL variable space T EDR
17362 16562 +35 DD7537 LD (IX+37),L #bytes to blk F :: 3:3
17365 16565 +38 DD7438 LD (IX+38) ,H #oytes to bik F :
17368 16568 +41 DD7543 LD (IX+43) ,L #bytes to blk G ;
17574. T6571 +44 DD7444 LD (IX+44) ,H #bytes to blk G_:
17374 16574 +47 C1 POP BC addr.of blk Z : o:
177S 10975 +48 09 ADD HL,BC last addr.blk Z- J4
17376 16576 +49 E5 PUSH HL HL to BC to:
£7927 16577 re aa Oe POP BC last addr.blk Zs: :
17378 16578 +51 DDE1 POP IX restore intl.IX :
17380 16580 +53 C9 RET gives end blk Z
17361. 16581 +54 010000 LD BC ,#bytes variable space
17384 16584 +57 110000 LD DE,dest'n addr.of blk Z oe
17387 . 16587 +60 2A1040 LD HL,(source) 4010h=VARS F:
17390 16590 +63 EDBO LDIR blk transfer og
17392 16592 +65 C9 RET return
17393 16593 +66 010000 LD BC,#bytes variable space
17396 16596 +69 ED5B1040 LD DE,(dest'n) 4010h=VARS ior
17400 16600 +73 210000 LD HL,source addr.of blk Z G :
17403. 16603 +76 EDBO LDIR blk transfer :
1740 1660 +78 C RET return
+79 The size of this block is :
user defined. It is the area used 2
I aa aS Fake a as Be ate rae gp eee Sete is Ni tet
November/December 1982
for variable storage above RAMTOP,
safe during NEW, LOAD, and CLEAR. :
top of your RAM. LOAD “VARIABLES
TRANSFER” and type RAND USR
16514. The USR 16514 entry calls the
block C routine. Look again at Figure 2
and convince yourself that block C trans-
fers block D from the addresses shown in
column 2 to the addresses shown in col-
umn 3, the Operating Addresses (note
that the DE register pair is loaded indi-
Figure 3.
1 REM CRAMTOP
10 DIM A(3)
20 DIM A$(3)
i 30 LET P=PEEK 16388+256*PEEK 1
389
40 PRINT “HAVE YOU RESERVED AT
LEAST#";USR P-P; "4#BYTES ABOVE
RAMTOP?"
50 STOP
60 PRINT "A(3)","A$(3)"
70 FOR N=1 TO 3
80 INPUT A(N)
90 PRINT A(N),
100 INPUT A$(N)
110 PRINT A$(N)
120 NEXT N
130 RAND USR (P+54) ,
140 PRINT "NOW TYPE NEW, THEN L
OAD RESTORE."
rectly from the systems variable; 4004h
= 16388d). The Variables Transfer rou-
tine is now safely above RAMTOP, and
you should type NEW to clear out the
memory.
Trying the Application Program
Enter the sample application program
in Figure 3 (named in reference to the
fact that I am still working with a 1K
machine). When you RUN this program,
line 40 checks to see how big the variables
are that you set aside in earlier lines and
asks you to confirm that there is sufficient
space above RAMTOP for this amount
of variable space, and in addition, for the
Variables Transfer routine, block D. Be-
cause the routine in line 40 uses a set of
registers that are also used for generating
the display, some users have found that
they must run the machine in FAST mode
to avoid crashing the system. Conserv-
ative advice would be to add the following
lines:
35 FAST
45 SLOW
The variable space above RAMTOP will
be referred to as block Z from now on.
Line 40 also lets you determine which
variables will be transferred, although
nothing is transferred as of yet. Arrays
DIMensioned in earlier lines, such as A(3)
and A§$(3), and simple variables such as P
will be transferred while variables intro-
duced in later lines, such as N in line 70,
will not be transferred.
RUN the program, confirm that you
have reserved adequate space, then type
CONTinue and ENTER. The screen will
prompt you for a number and then a
letter. This will happen three times for a
total of six items. Enter anything you like,
103
or just type 7 and ENTER, X and ENTER,
8 and ENTER, Y and ENTER, 9 and
ENTER, Z and ENTER. You have now
loaded the arrays that were DIMensioned
in lines 10 and 20, and the computer has
now transferred those two arrays and the
variable P to block Z. The transfer was
executed by line 130, RAND USR (P3+4)
which calls the block transfer routine in
block F. Look again at blocks F and G in
Figure 2. Block F transfers variables and
arrays into block Z, and block G transfers
block Z back down into the variables
area of the same, or a different, Basic
program.
The screen should now be telling you
to type NEW and ENTER, then LOAD
and “RESTORE”, the program in Figure
4, so go ahead. You may actually want to
SAVE “CRAMTOP” first for future ref-
erence. Note that the first three lines of
RESTORE are identical to the first three
lines of CRAMTOP. This is a necessity
because space must be created in a Basic
program before information can be trans-
ferred from block Z into the program.
Line 40, RAND USR (P3+6) then calls
the block G routine which performs the
transfer. The rest of the program simply
prints your arrays. RUN the program. If
you entered 7, X, 8, Y, 9, Z, in CRAM-
TOP, these numbers should now appear.
If they do not appear, recheck
ARIES
SPACE SIMULATION GAMES
loK
ZX-8I7 TIMEX 1000
BLACK HOLES
NAVIGATE YOUR STARSHIP THRU
GRAVITATIONAL FIELDS OF FOUR
BLACK HOLES TQ REACH YOUR
HOME PLANET SAFELY
A NEW SITUATION EVERY TIME
LINK UP
LAUNCH YOUR SHUTTLE AND CONTROL
ROCKET BURNS TO LINK UP WITH
Figure 4.
1 REM RESTORE
10 DIM A(3)
20 DIM A$(3)
30 LET P=PEEK 16388+256*PEEK 1
40 RAND USR (P+66)
50 PRINT "A(3)","A$(3)"
60 FOR N=1 TO 3
70 PRINT A(N) ,A$(N)
NEXT N
Figure 5. Sample Calculations of the Bytes Used
to Store Three types of Variables.
Variable Type Bytes Used
Simple Variables
LET P= 1+5
LET PI= 2+5
LET POP= 3+5
Numerical Arrays
DIM A(m) 1*2+4+5%*m
DIM A(m,n) 2*24+44+5%*m*n
DIM A(m,n,p) 3%*24+445%*m*n*p
Character Arrays
DIM A$(m) 1*2+44+m
DIM A$(m,n) 2*2+44+m*n
3%*2+44m*n*p
DIM A$(m,n,p)
RESTORE, then SAVE it, then recheck
CRAMTODP, and, if neither of these pro-
grams contains an error, go back to
square one. If you made it this far success-
fully, you deserve a round of applause.
The Steps of the Variable Transfer
Routine
Let me now summarize the steps you
must go through to use the Variables
Transfer routine in your own applications.
1) You must decide how much space
you need to reserve above RAMTOP.
Figure 5 contains formulas that are likely
to be useful for this. In the case of CRAM-
TOP, A(3), A$(3), and P take up 21 +9
+6=36 bytes. Add this to the 79 bytes
required to hold block B, and you will
understand why CRAMTOP asked you if
you had reserved at least 36+79=115
bytes. Reserve adequate space above
RAMTOP (see chapter on the organi-
zation of memory or storage in your
manual).
2) LOAD the Variables Transfer rou-
tine, then type RAND USR 16514 and
ENTER to transfer it above RAMTOP.
3) DIMension arrays and assign vari-
ables that you will later want to transfer
at the beginning of your Basic program as
we did in CRAMTOP.
4) Call the block E routine, USR P, as
we did in line 40 of CRAMTOP. There
are several ways you can do this to obtain
slightly different information.
PRINT USR P gives the last address in
block Z. This must be smaller than the
last address in your RAM, of course, or
else you will lose your data.
16K INSIDE?!
No Bulky Add-ons!
Leaves back connector free
for printer or peripherals!
Inexpensive using your parts.
Can be assembled and installed by
SKYLAB. ACTUAL SIMULATION OF
GRAVITATIONAL FIELDS, TRUE
ELLIPTICAL ORBITS, DISPLAY OF
ORBITAL PARAMETERS, AND
CHOICE OF DISPLAY MODES
BOTH GAMES ON ONE CASETTE $12.00
SEND CHECK OR MONEY ORDER TO:
ARIES ASSOCIATES
DIIMARY AVE.
HUNT. VALLEY, PA 19006
anyone who can use a soldering pen.
Complete instructions, including
schematic, parts list, suggested
Board layout, assembly and instal-
lation. $7.95
With optional pre-made P.C. Board,
ready for assembly. $18.95 from:
Independence Research
P.O. Box 1497
Orem, Utah 84057
SYNC Magazine
PRINT USR P-P gives you the number
of bytes that you must reserve above
RAMTOP, as in line 40 of CRAMTOP.
PRINT USR P-P-79 gives you the num-
ber of bytes required in block Z, and thus
allows you to check your calculations
from Figure 5.
One of these three choices must go ina
line like line 40 of CRAMTOP, even if
you already know the answer it will re-
turn, because USR P sets up blocks F and
G for the transfer.
5) Use any other variables that you
need to in your Basic program after you
call USR P. These will not be transferred.
Then call USR (P3+4) once the arrays
that you want to transfer are filled.
6) LOAD the program that you want to
transfer your variables to, and DIMension
arrays and assign variables at the begin-
ning of the program that you wish to
restore to the program. Do not forget P.
Then, before any other variables are
introduced in the program listing, insert a
line containing RAND USR (P3+6). See
the RESTORE program again if you are
confused about this step. When you RUN
the program, your arrays and variables
will be written in from block Z.
Protecting Your Variables
RUN, CLEAR, LOAD, and NEW all
possess the ability to erase variables that
it may have taken you hours to type into
the machine. You can employ one safety
measure in the portion of any Basic pro-
gram that serves to load a large array.
You add a line which calls USR (P3+4)
after each data point is entered. Each
time that you call USR (P3+4) the data
previously transferred will be written over
identically, and the current entry will be
added to block Z. Then if you hit one of
the four functions above, just type RAND
USR (P3+6) and the data will be restored.
In the case of NEW, you will, of course,
have to load your Basic program over
again before restoring the data.
For example, add this feature to
CRAMTOP by moving line 130 into the
FOR-NEXT loop. Type 115 RAND USR
(P3+4) and ENTER. An occasional
SAVE is also a good idea to protect your
data from power failures.
If you think you have the hang of Vari-
ables Transfers, you are now ready for
your next crack at machine language.
The Problem of Fixed Addresses
Many machine language routines for
the Sinclair computer are written so that
they will work properly only if they are
located at a fixed starting address. This
might at first seem to be a requirement in
programs which draw upon specific ad-
dresses within the routine for the infor-
mation stored at those addresses. A fixed
starting address might also seem neces-
November/December 1982
sary in a program in which one subroutine
in the program (block E) is used to rewrite
other subroutines within the program
(blocks F and G). Let’s see how the
Variables Transfer routine can modify
itself so that it can be used at any location
in memory.
First, look at the first instruction in
block F, LD BC, #bytes. While claiming
to load BC with the number of bytes in
the variables space of a Basic program,
the four zeros in column 4 show thatïn
actuality BC is only loaded with zero,
that is, if block E, i.e., USR P, is not
called prior to calling block F, i.e., USR
(P+54). How does block E change those
four zeros to the number of bytes to be
transferred?
The four zeros make up the two bytes
at RAMTOP + 37h and RAMTOP + 38.
Confirm this with column 3 (37h = 55d
and 38h = 56d). Now look at block I.
Block I subtracts VARS from E LINE
then decrements the result to obtain the
amount of variable space that you want
to transfer when you call block E (i.e.,
USR P) (see the chapter on system vari-
ables in your manual). The amount of
variable space is now sitting in the HL
register pair. Because the IX register was
loaded earlier with RAMTOP, the next
two instructions, LD (1X+37),L and LD
(IX+38),H rewrite the two bytes that we
just discussed in block F. Now block F
truly contains the number of bytes to be
transferred. Four instructions in blocks F
and G appear to load a register pair with
zero. Actually, block H writes the desti-
nation into block F and the source into
block G, then block I writes the number
of bytes into blocks F and G. Block J puts
the last address in block Z into the BC
SEA WAR
FOR ZX81
This game is designed for one or two players. Each player has three submarines. As a certain
number of points are reached, bonus submarines will be given. When the game is going on, the
higher the score you get, the more that hostile features will appear on the screen.
The features which appear on the screen are as follows:
Submarine, Warship, U-boat and Helicopter.
Submarine
This feature is under your own control and is loaded at the left hand side of the screen. The keys
‘9’ and ‘0’ are the firing buttons for the upward missiles and forward missiles respectively.
The submarine can be moved in four directions; it can move upwards and downwards by
pressing keys ‘7’ and ‘6' respectively. In order to move forward, you press key ‘8’ and it will draw
back to its previous position when you release the button. Also, the submarine can be moved
diagonally upwards or downwards by pressing both keys ‘8’ and ‘7’ or keys ‘8’ and ‘6’ respective-
ly at the same time.
U-boat
This is the hostile submarine: It drifts under the sea level randomly, from right to left. Missiles are
fired as it approaches your submarine. Destroying a U-boat scores 20 points.
Warship
This is the enemy destroyer which will release bombs diagonally as it drifts on the sea surface
from right to left.
The destruction of a warship is done by either firing a vertical missile or, when the submarine is
just under sea level, by pressing keys ‘7’ and ‘0’ which release a horizontal missile. Otherwise the
missiles will just pass under the ship bottom. Each destruction of this feature scores 50 points.
Helicopter
As you reach a certain score, helicopters appear on the left hand corner of the screen; they drop
vertical bombs as they hover above the submarine. To destroy the helicopters, vertical missiles
can be fired by pressing key ‘9’. Each helicopter destroyed scores 100 points.
“New Game—ADDER—Arcade-type game.
Shoot the numbers as they pass across the screen, but watch your total.
Each game $9.95 plus $2.00 postage/handling
Distributor Inquiries Welcome
Pandai 2 Software,
51 Elgin Street, Shelton
Stoke-on-Trent ST4 2RD, England
register pair so that this information is
returned to you when you PRINT USR P.
Although I said that the Variables
Transfer routine can be used at any start-
ing address, the use of the IX register just
described above forces one qualification
on that statement. The Variables Transfer
routine can be used at any starting address
provided that its starting address is
RAMTOP. Rather’ than loading
RAMTOP into the IX register, we could
have the program discover its own starting
address by reading the program counter,
and then load that address into the IX
register. This would free us from the
above qualification. I will leave the
method by which one transfers the con-
tents of the program counter to the IX
register as a puzzle for those of you who
write machine language. (The answer will
appear at the end of this article.)
Suggestions to Machine Code
Programmers
The Sinclair and Timex/Sinclair com-
puters are serious computers, and their
usefulness will be limited only by the
quality of the software available for them.
Therefore, I suggest that those of you
who write machine language routines
write them so that they can be used at
any location in memory.
To return now to practical matters,
Sinclair cautions us that a USR routine
should not disturb the IX register if com-
pute and display is operating. In spite of
this caution, I have failed to crash my
system yet. Conservative advice would
Figure 6.
Add these lines
1 REM MC ARRAYS
100 DIM Z(m)
ae LET P=PEEK 16388+256*PEEK 1
389
120 PRINT "AT LEAST#";USR P-P;"
#BYTES ABOVE RAMTOP?"
130 STOP
285 RAND USR (P+54).
Change line 280 to,
280 POKE PEEK 16400+256*PEEK 16
oo che ited (H$)+CODE (H$(2)
=47
be to run the machine in the FAST mode
when you are dealing with a questionable
situation like this one.
A Mystery Application
The Variables Transfer routine can be
used to compile machine language rou-
SOUND EFFECTS
MUSIC GENERATION
TWO 8 BIT 1/0 PORTS —
DUAL ATARI JOYSTICK CONTROL
The ARCADE MASTER 231 anc 181000
KIT $54.95 e A&T $64.95 e PC Board $24.95
Now you can create complex arcade quality sound effects,
write melodies in 3 part harmony, and control the action
with one or two Atari Joysticks (not included)
e3 tone generators - 8 octive range
e3 channel mixer, amplitude controller,
and envelope generator
e Noise generato
ALL | DEPENDENTLY PROGRAMMABLE!
e Internal speaker, volume control, and
audio output jac
e Requires no additional power supply
e Complete instruction manual & examples
2 AMP
POWER SUPPLY
ZX80/81 © TIMEX 1000 ¢ MICROACE
As you expand your system, you'll need
more power to run it.
This supply has it!
SPS-2A -- Power Supply -- $19.95
z
106
e SRR E E eae Ha SR
RBSS RES we &
SPS- 2A
eCan be used with printer, 16K rampak,
and most other modules
e Memory m mappe so it can easily be
programmed in basic using peek & poke
e User selectable to the start of any 4K
memory location
e2 Independent, TTL compatible I/O
ports can be used as general purpose
input/output, or with groli k
MULTIPLE OUTLET STRIP
with built in
TRANSIENT ABSORBER
PROTECTS YOUR COMPUTER SYSTEM
FROM DANGEROUS VOLTAGE SPIKES
Absorbs transients and surges such as
ee produced by lightning, biker ar
surges and noise spikes. 3 protected
ets, 15 A. fuse, Bgl: switch & wile
cord
TAS -- RE ABSORBER -- $26.95
Send check or money order to:
HURRICANE ELECTRONICS e P.0. Box 87 eè Dolton, IL 60419
Include $2.50 shipping/handling per order -- Ill. residents add 6% tax
tines for use in a single Basic program.
All you need is a loading program that
places your machine language in an array.
This is easily obtained by adding and
substituting a few lines in Figure 1.
Make the changes in Figure 1 that are
shown in Figure 6. The number, m, should
be large enough that 5 * m is greater than
or equal to the number of bytes in your
routine. If Z(m) is the first array held in
block Z, then the starting address of your
machine language routine is RAMTOP
+ 85 in block Z and
PEEK 16400+256*PEEK 16401+6
in the variables area of your Basic pro-
gram. PEEKing the contents of the
machine language that you enter will be
easier from its block Z addresses because
the variables space below RAMTOP
moves around quite a bit.
When modifying Figure 1, set m in line
100 equal to 4. This provides you with 4 *
5 = 20 bytes of space. RUN the modified
program, then type CONTinue. Figure 7
contains a routine which returns the num-
ber of unused bytes below RAMTOP.
(This was written by Dr. Ian Logan and is
reprinted here with the kind permission
of SYNTAX ZX80, RD2 Box 457,
Harvard, MA 01451.) Enter the bytes in
Figure 7 (i.e., 2A and ENTER, 1C and
ENTER, and so on). Then type END and
ENTER. To find out how much unused
memory you still have below RAMTOP,
type PRINT USR (P+85) and ENTER.
The number 204 should appear at the top
of your screen if you are working with a
1K machine. As you can see, there is not
much space left. On the other hand,, you
do not need much memory to have fun
with machine language!
Figure 7.
Dr. Logan's Bytes Remaining
sequence
24,1C,40,CD,CB,0E,E5,C1,21,14,
00,00,ED,42,E5,C1,C9
Congratulations if you have made it
through this article. If you have a useful
program or two, and in addition, a few
points to puzzle over, then we have both
succeeded.
The Answer to the Puzzle
When you CALL a subroutine from
within a machine language routine, the
program counter is pushed onto the stack.
The first instructions in the subroutine
should then be POP IX, PUSH IX... etc.
RET. When the main program is returned
to, the IX register will contain the address
of the instruction following the CALL
instruction in the main routine. For the
sake of simplicity, we can have the sub-
routine decrement the IX register so that
it contains the starting address of the main
SYNC Magazine
routine upon return to the main routine.
To preserve the contents of the IX reg-
ister through all of this, the first instruc-
tion in the main routine should be PUSH
IX. Then, CALL the routine immediately.
At the end of your main routine, do not
forget to POP IX.
Figure 8 shows a subroutine that will
put the starting address of a main routine
from which it is called into the IX register
on return. The main routine must begin
with PUSH IX, CALL 16514, as above.
To implement this routine with a version
of the Variables Transfer routine, VAR
PLUS, load the bytes in Figure 8 into the
test program in Figure 9 and SAVE the
result.
Now LOAD the Variables Transfer rou-
tine, but do not type RAND USR 16514.
Just leave it in the REM statement. POKE
in the changes that are shown in Figure
10, (i.e., POKE 16520,0 and ENTER,
POKE 16521,17 and ENTER, and so on).
Add the lines in Figure 11, and you have
Figure 8.. Figure 9.
Address Hex Decimal 5 en Ae ae oe
in REM object object 20 IET A=10
statement code code Instruction 30 PRINT "INITIAL A=":A
COSL DDB) 221,228. POR ix 40 RAND USR P
wO5rO =DD EBS: 220,229 PUSH EX 50 RAND USR (P+54)
16518: 06,05- 000,005 LD B,5 60 LET A=1
16520 ADDS 2B 221 0a DEC: EX 70 PRINT "ALTERED A=";A
1652210,FC .016,252- -DJINZ e 80 RAND USR (P+66)
16524 C9 201 RET 90 PRINT "RESTORED A=";A
Figure 10.
REM Statement Decimal
addresses Hex changes changes Instruction
16520 00,11,00,00 O77 70:0: LD DE,nn
16529 CD,82,40 205,130,64 CALL 16514
16532 DD 25 Led see 0 PUSH IX
16534 E1 265 POP HL
WALL STREET
based on the ups and downs
of the Stock Market of dice rolls.
practical
software
FOR THE SINCLAIR ZX80/81 (8K/16K)
TRIPLE JOTSEE
e Strategy game for 1-3 players @ Game of luck and strategy for
1-6 players with all the excitement
a program that prompts you for a starting
address, and then locates itself there. Be
sure that you have plenty of space above
RAMTOP, then RUN the program. For
the test program in Figure 9, you should
enter 17252 when the screen prompts you.
RAMTOP must be smaller than this.
LOAD the test program and RUN it.
The screen should show the following:
INITIAL A10
ALTERED A1
RESTORED A10
Note that any program that uses the IX
register in the manner that the modified
Variables TRansfer routine (VAR PLUS)
does, can use the Figure 8 routine to
locate itself. Thus one routine must
remain tied to an address while the others.
go free. a”
Figure Fi. -o ee
2 REM VAR PLUS
10 PRINT "ENTER THE ADDRESS TH
AT YOU WANT VAR PLUS TO BEGIN AT
20 INPUT P
30 POKE 16522,256*(P/256-INT (
P/256) )
40 POKE 16523,INT (P/256)
50 RAND USR 16514
60 PRINT "P IN YOUR APPLICATIO
NS MUST NOW =#";P
COSMONICS
FOR THE ZX81 AND TS1000 COMPUTERS
TIRED OF SAVING 16K
OF PROGRAM JUST TO SAVE
2K OF DATA?
Pay gh tee
SPECIAL INTRODUCTORY PRICE $9.95 EA.
Regular price $14.95 ea.
ZX INVENTORY ZX DIRECTORY
e STORAGE OF 200 ITEMS AND PRICESe SORTS FILES ALPHABETICALLY
e PRINTING CAPABILITY (ZX81) e STORAGE OF 60 FILES (16K)
e COMPREHENSIVE SEARCH e PRINTING CAPABILITY (ZX81)
ROUTINES e COMPREHENSIVE SEARCH
ROUTINES
BOTH PROGRAMS EASILY MODIFIED TO
STORE MORE FILES WITH LARGER RAM PACK.
ONLY 19.95 EA.
BOTH PROGRAMS FOR 34.95
SEND CHECK OR MONEY ORDER TO:
SERVITRONICS
P.O. BOX 2024, HARTFORD, CONN. 06145
FOR INFORMATION OR VISA OR MASTERCARD ORDERS
CALL (203) 643-7900 SHIPPING U.S. $1.50 OUTSIDE U.S. $3.00
dealer enquiries welcome
November/December 1982
The COSMONICS READ/WRITE UTILITY will allow you to save
ONLY what you want to save---from strings, arrays, or a
location in memory---onto a cassette. You can read it
back when you want to use it. This data can be used by
the same program or by different programs.
The COSMONICS READ/WRITE UTILITY can also make it easi-
er for you to translate programs which are written for
other computers in BASIC, and which have "WRITE to cas-
sette" and ''READ to cassette" statements. This use of
the utility can greatly increase the amount of software
available to you.
The COSMONICS READ/WRITE UTILITY is easy to use, and it
loads easily. The instructions are clearly written, and
a short sample program which demonstrates it's use is
is included. The routine occupies approximately 500
bytes, and requires a minimum of 2K RAM.
The COSMONICS READ/WRITE UTILITY is now available for
$17.00 + $1.50 postage and handling. Calif. residents,
please add 6% or 6.5% sales TAX.
Send self-addressed, stamped envelope for FREE catalog.
COSMONICS
P.O. Box 10358, San Jose, CA. 95157
107
$39.95 (KIT)
$59.95 (A&T)
ANALOG INTERFACE FOR THE 2X81
Welcome your computer to the “real world” of analog
signal processing. VOTEM is a complete package,
sisting of bag a bag green hardware and jaishigpeis nable
your comput voltages emperatures.
OTEM also wb cg ‘cout that aota N sahi the tape
signal for dependable
e Software compatible with Timex TMS-1000, Sinclair
ZX81/80-48K)
+ Requires absolutely no modifications to computer
* Measures voltages and temperatures
e Probe provided for air and liquid temperature
measurements
e. Resolution is better than 14 bits (0.00005V or 0.04
degrees C)
e Voltage range of +1V can be expanded with on-board
resistors
Low power, requires less than 20mA at. +11V
Gobo uiad
+ Can be powered from computer’s supply (cable included)
e Tape signal conditioning circuitry
e Tape signal monitoring capability (audio and visual)
e Manual includes detailed kit assembly and calibration
e Software for calibration and applications fits in 1K RAM
e Instructions for adapting to other Z80 computer systems
e Con:pact, 1” by 4” by 3”
Aao, static NAN ore oy’ 6116P-3 or by! val with IK wake Only
ae pop
Grona ae ead $3 shipp-
Down East Computers
P.O. Box 3096
Greenville, NC 27834
WANTED:
Creative/innovative ZX81/
TS1000 “Pros” to indepen-
dently develop software for
national retail distributor.
Z-80 machine language
Capabilities a plus. Generous
royalties.
Send name, phone number,
and qualifications to:
TIME WORKS INC.
P. O. Box 321
Deerfield, IL 60015
All qualified respondents will
be contacted.
ew weaa aac!
FLORIDA CREATIONS PRESENTS:
SINCLAIR
SOFTWARE
ye CHEAP x
» GAMES
» HOME
» BUSINESS X
» TECHNICAL ARTICLES
a
aaa aaa!
ZX-81 and TS 1000
1k through 16k memory
MOST PROGRAMS 50 CENTS EACH OR LESS
Catalog & two sample
programs for $1 and SASE
FLORIDA CREATIONS, DEPT. E » P.0.
BOX 16422, JACKSONVILLE, FL, 32245
H#ARHSATISFACTION GUARANTEED 441414
(Not a part of Sinclair Research
] OPTIC elceaeee
108
| the maze are creatures called Mazogs
Game Review
Mazogs
David Grosjean
Jim Beloff reports in “The Zedex
Microfair” on the enthusiasm of the fair
goers for the adventure game Mazogs.
We share that enthusiasm.
In Mazogs you are an adventurer
searching for a treasure in a HUGE maze.
You must find the treasure and return to
the entrance of the maze within a certain
number of moves. Scattered throughout
whose job is to stop and kill you. You can
kill them if you find one of the swords
lying around the maze. Otherwise, you
have a 50/50 chance of surviving if you
get into a fight with one. By killing a
Mazog you increase the number of moves
you have. Also scattered throughout the
maze are prisoners (trapped in the walls)
who tell you which way to go, but their
directions will take you only a short
distance.
Certain commands help you in the
search, but each one costs you moves.
E.g., a “view” shows a larger view of the
maze than the 20 spaces normally shown;
a “status report” tells how many moves
are left, how many moves to the treasure,
and how many moves the various com-
mands cost. A sword can be bought, but
at a very high price—half of your moves.
You can quit the game, and the computer
will tell you how far you got.
After starving to death (running out of
moves) or successfully returning to the
entrance with the treasure, you can look
at the maze which is four screens large.
At this point the computer will print the
solution. With three levels, it can keep
you interested for hours on end.
This game is outstanding because of its
mixture of complexity and simplicity, its
David Grosjean, 50 Kings Rd., Chatham, NJ
07928.
speed, and its ability to gradually lead the
player up to a difficult game. It is a
program written mostly in machine code
but there is quite a bit of Basic, too. The
game is rather long and takes about five
minutes to load. We had no difficulty in
loading it. The documentation is good,
and the use of graphics is especially im-
pressive (see sample run). The treasure
seeker and the Mazogs are not tokens
moving in the maze, but full fledged fig-
ures with limbs that actually move. The
size of the pixels on the Timex/Sinclair
computers gives rather large figures, but
they do move as the game is played. Just
watching the graphics is fascinating.
In short, Mazogs is an excellent graph-
ics adventure program. and lives up to
the publisher’s promise of being a game
“unlike any other game you've seen on
the ZX81.”
SUNE
SOFTWARE PROFILE
Name: Mazogs
Type: Fantasy Game
System: 8K ROM; 16K RAM
Format: Cassette
Summary: Outstanding because of its
mixture of complexity and
simplicity, its speed, and
its ability to lead the
player.
Price: £10
Manufacturer:
Bug-Byte
Freepost
Liverpool L3 3AB
United Kingdom
SYNC Magazine
D
~
N ~
arhe wv RAS
Saxe SAN
<a. we MQ
z. wus
Y`
Amn
Sea War
David Grosjean
Sea War is another excellent fast action
graphics game that was a hit at the
Microfair.
The game starts by scrolling from right
to left a very impressive “title page” asking
for the number of players (the limit is 2).
A rather large ship then travels across the
surface of the water and drops your sub-
marine into the water; then the action
starts. You are now in a submarine just
below the surface of the water, and you
have to destroy U-boats, warships, and
helicopters, all of which are capable of
destroying you. The water surface is con-
stantly moving, and, of course, enemy
shots are constantly assailing you.
Five keys provide the controls—up,
down, forward (you drift back if your
finger is off the key), fire up, and fire
across. You must destroy the helicopters
by firing up, the warships by either firing
across or up, and the U-boats across.
Helicopters count 100 points, warships 50
points, and U-boats 20 points. You begin
the game with three subs, and you can
get additional subs when your score
reaches 1000, 4500, and various scores on
up.
The use of graphics in this game is
astounding. The action is quite fast (it is
all machine code) and a little difficult to
get used to. This is a sign of a good
game —you cannot get bored easily unless
you are also easily frustrated. Later in the
game the attackers, mainly the subs, prac-
David Grosjean, 50 Kings Rd., Chatham, NJ
07928.
November/December 1982
Game Review
SOFTWARE PROFILE
- Name: Sea War
Type: War game
System: 8K ROM; 16K RAM
Format: Cassette
Summary: Fast-paced, astounding
graphics; the best shoot
‘em game I’ve seen for the
ZX81
Price: $9.95 plus $2 s&h
Manufacturer:
Panda Software
51 Elgin St. Shelton
Stoke-on-Trent ST4 2RD
United Kingdom
tically cover the screen with shots, and
this is when the game gets very hectic.
This game is best played with a full
keyboard, but the Sinclair keyboard is
adequate. The only major problem with
this program is that every now and then
the program crashes (and it seems that
this is always during the best game!).
In conclusion, this is the best “shoot
“em” game that I have seen for the ZX81.
It is a fast-paced game which keeps the
player’s interest. The graphics are, as I
have said, astounding. The most notable
features are the helicopters and the
player’s death scene. I strongly recom-
mend this game to any arcade game fan
who likes a challenge, and the price is
nice at $10.
PUT YOUR TIMEX/SINCLAIR
COMPUTER TO WORK!
TIMEX/ SINCLAIR SOURCEBOOK™
e SOFTWARE
e HARDWARE ADD-ONS
e BOOKS/CATALOGS
Maximize your ZX80, ZX81 or TS1000
computer investment with the TIMEX/SIN-
CLAIR SOURCEBOOK which lists programs,
hardware accessories and reference books.
The SOURCEBOOK allows you to quickly
identify the ZX computer products you need
from a wide variety of sources to put your com-
puter to work. Order your copy today —
only $6.95
TIMEX/SINCLAIR SOURCEBOOK™
Micro Design Concepts
Dept. SC-5
P.0. Box 280
Carrollton, TX 75006
Please send me the TIMEX/SINCLAIR
SOURCEBOOK. | enclose $6.95 plus $1.25
P&H ($2.50 outside the U.S.) Add sales tax
in Texas.
Name
Address
City
State/Zip
Have a product you would like listed?
LJ Check for an application for free listings.
sinclair
ZX8]
White T-shirts with red &
black lettering.
S-34-36, M-38-40, L-42-44
yO Dace
Tx. residents
add
5% sales tax
Please give street address when order-
ing. Make check or money order
payable to:
Pecos Star Co.
Box 8348
Denton, Tx. 76203
109
ATTO-SOFT
PRESENTS
ZX-MAN
ZX-MAN. Turn your ZX8I or TIMEX
SINCLAIR 1000 into an arcade type game
computer with ZX-MAN. 100% machine
code makes this fast acting program as
much fun as being at the arcades. With the
joystick option you can have the real feel
of game playing never before available for
your ZX8I or TIMEX SINCLAIR 1000.
16K required..............008- $14.95
JOYSTICK. With ATTO-SOFT’s JOY-
STICK your ZX8I or TIMEX 1000 can be
turned into an arcade type computer allow-
ing fast control over ZX-MAN and other
type software. Requiring only six simple
solder connections inside your computer.
Also included is software to develop your
OWN PFOgramS.....escccecccesees $14.95
(Please add $1.50 Postage and Handling. COD's add $2.00.)
Send check or money order to:
ATTO-SOFT
832 E. Third Street,
Galesburg, Illinois 61401
(309) 343-4114
i
; ATTENTION i
I SINCLAIR ZX81 !
- OWNERS!!! :
Į Here’s an inexpensive little book i
g (Programming With The ZX81) that i
g tells you how to use the features of I
p that ZX81 you recently bought. Iti
g shows you programs that fit into the U
g 1K machine and are still fun to use. I
g Learn how the random number fl
g generator works and use it to sim- i
g ulate coin tossing and dice throwing. B
g Look at the patterns the 2X81 1
g graphics can produce. Animated f
g graphics are also covered and com- f
g plete programs for games such as §
Lunar Lander and Cannon Ball are §
g included. Seven information packed §
g chapters in this quality book. Order §
g your copy today. Price is $5.75 post- Į
g Paid in the US.
i ELECTRONIC TECHNOLOGY TODAY INC. S-1
i P.O. Box 83, Massapequa Park, NY 11762
j O Send me my copy of “Programming With The ZX81"
I O Send me your complete catalog
4 Price of Book including Postage LESION TA
I NY State Residents include Sales Tax
| TOTAL ENCLOSED
i kanaa e CSE, SIP SEI ass he SCONE
B city —_—__________State_____7ip_______
E E E E E E _ E E FF E E FF E E |
110
Attention Readers:
You Can Review Products
y
LAA
David Ahl
We are overwhelmed! New peripherals
and software are coming out for the
Timex/Sinclair computers at an astonish-
ing rate. So fast, in fact, that our in-house
reviewers can’t keep up with it all.
Hence, we would like to invite readers
to write reviews for us. Some products we
receive here and will forward to qualified
reviewers. However, for most reviews, we
must depend upon you to write a review
of a product you have purchased. (This,
incidentally, is how you become a “qual-
ified reviewer” and get a product for-
warded from us.) Of course, we pay for
all reviews.
A word about the review itself. It must
be factual and objective. The biggest
single group of people who read Ford ads
are those people who have just bought a
Ford. We all have a psychological need
to justify a purchase. However, a product
review is not an appropriate psychological
outlet to justify a purchase. Nor is it the
appropriate place to vent your passion
against a manufacturer who has wronged
you in some way.
Reviews should start with a brief de-
scription of the class of product (say
modem or drill and practice software)
including what it should do. Next should
come a thorough description of the spe-
cific product being reviewed (no opinions
yet). Next should follow your experience
with the product: putting it together, using
it the first time, using it later, and the
reaction of others to it. Note the problems
you met and the benefits that you have
received from using it. It goes without
saying that the product should be used in
the environment for which it was
intended.
for SYNC!
The appropriate length for a product
review is from 500 to 1000 words. Longer
reviews are probably going into too much
detail. A review of a game should be from
150 to 300 words long.
All software reviews must contain the
standard Creative Computing/SYNC
“Software Profile” information. That in-
cludes: name of. package, type, author,
system and memory, format, a summary
statement, price, and manufacturer’s
name and address.
We favor comparative reviews of three
or four similar items over single reviews,
but both are acceptable.
Pictures and illustrations are absolutely
vital with a review or article. If we have
to go to the manufacturer for a publicity
shot or photograph the item here, it won’t
be nearly as effective as your photos. If
you're not a photographer, find a friend
with a 35mm SLR, load it up with TRI-X
or Kodacolor 400 and shoot the item.
Vary the angle and lighting. They won't.
all come out, but four or five usable shots
out of 20 easily justifies the $7 or $8 for
film and developing. We don’t need 8 x
10 or even 4 x 5 prints; standard Fotomat
3 1/2 x 5 is fine. But they must be glossy
finish; matte is not acceptable. The details
important for your review should not be
lost in the very light or very dark parts of
your picture.
Illustrations should be done in black
on white paper. Use India ink or a Pilot
Razor Point equivalent. We prefer to use
your illustrations than redraw things
here.
Manuscripts must be typed double-
spaced with generous margins. Other
helpful suggestions for preparing your
manuscript are contained in the article
“Writing for SYNC.” Send a self-
addressed stamped envelope for a copy.
Please send all submissions to Paul
Grosjean, SYNC, 39 E. Hanover Ave.,
Morris Plains, NJ 07950, and mark your
envelope “Review.” "a
SYNC Magazine
If you are looking for specialized soft-
ware to help your endeavors into Z80
machine language, HOT Z will be the
tool for you. HOT Z, available from
Sinware, can be used with the 16K, 32K
or 64K ZX81 or TS1000. There are both
low memory (16K) and high memory
versions available (32K & 64K).
HOT Z sets out to be your guide
through the 32,768 memory locations in
the expanded TS1000/ZX81, but it does
more than that! HOT Z not only lets you
enter maching language (ML) com-
mands directly into RAM locations
(much like entering Basic), but it also
lets you test your ML routines one step
at a time, while displaying register
values.
— | |
SOFTWARE PROFILE
Name: Hot Z
Type: Machine language assembler
System: 8K ROM (4K ROM available);
16K RAM; 32K RAM
Format: Cassette and manual
Summary: At any price, HOT Z
would be a bargain, but at
$20 it is truly affordable. A
valuable tool for the
machine language pro or
novice.
Price: $19.95
Manufacturer:
SINWARE
Box 323
Dixon, NM 87527
Modifications can be entered easily by
using a special edit mode. Provisions
have been made to allow you to use
floating points operations already pro-
grammed into the RAM, and smooth
fast 24 line displays are used at all times.
HOT Z includes a user aids program
and a concise, well-written manual. The
user aids will acquaint you with the
commands you can use and will label
various ML routines.
Other functions of the HOT Z soft-
ware are: Selective SAVEing and
LOADing of memory blocks, and block
transfers of sections of ML. Inserting
and deleting ML commands is easily ac-
complished. Routines can be labeled and
those labeled can be used as destinations
for branching commands. You can also
find a routine by using the search com-
mand and entering the label name. HOT
Z converts from infamous HEX to deci-
mal and back at the push of a button.
ML mnemonics used are displayed. You
enter the decimal or HEX code for an
ML command and the mnemonic is
November/December 1982
Software Review
o1-2
Victor Schiller
automatically displayed in its own
column.
For the ML neophite, HOT Z will
greatly simplify your adventures into
machine language, although the second
paragraph in the manual states:
“A minimum requirement for running
HOT Z is some knowledge of the hexa-
decimal (or hex) number system, which
uses the characters 0-9 and F-F as its 16
digits. By and large, the assumption is
made that you, the new HOT Z owner,
know something about Z80 machine
code. If you do not, there is one indis-
pensable peripheral device you should
acquire: it needs no extra power or ca-
bles or connectors. It comes in several
models and is commonly called a Z80
programming book. The one by Zaks
(from Sybex) is useful, but those written
specifically for the ZX are generally
more simple. If you are learning, then
Extend your ZX81 System:
~ ADD YOUR OWN SYSTEM UTILITIES
~ BUILD UP A LIBRARY OF MACHINE
LANGUAGE SUBROUTINES
- UP TO8K NONVOLATILE RAM ™
USE HM6116P CMOS RAM 4 @,
OR 2716/2732 EPROM je
- LOW POWER BACK-UP i
COMPATIBLE WITH Gg
16K RAM PACKS „7
we
we ee
use HOT Z as a blackboard to work out
the exercises.”
My suggestion is to purchase one of
the good books on ML and read it over
while awaiting delivery (2-3 weeks). By
the time HOT Z arrives, you will be able
to charge right in.
The more experienced ML program-
mer will find the use of HOT Z quite re-
freshing. The usual hassles of code entry,
editing, and debugging are virtually
eliminated. You will be free to concen-
trate more fully on code formulation.
The “one step” feature will allow you to
easily follow the detail of your program
without risking a “crash.” Much time
will be saved by using HOT Z.
At any price, HOT Z would be a bar-
gain, but at $20.00, HOT Z is a truly af-
fordable software value. This package is
a valuable tool for the machine language
pro or novice.
*or TIMEX
1000
52995
This memory board is designed to fill the transparent 8K
block of memory (from 8 to 16K) in a ZX81-16K system.
The use of HM6116P 2K CMOS RAM memory IC’s with
their own reserve power supply means that routines stored
in the RAM are nonvolatile — the RAM retains its memory
even when the ZX81 is switched off or reset. Moreover, be-
ing RAM, the routines you store in the memory are easily
modified.
With this board it’s no longer necessary to place your
machine language routines in REM statements, in string
variables, or beyond RAMTOP. You can build up a resident
library of machine utilities for use by your BASIC system.
Complete step-by-step instructions in a 14 page manual
make assembly of the board easy. Construction takes be-
tween one and two hours. The kit (pictured above) is com-
plete with a silkscreened solder-masked printed circuit |}
board, all capacitors, resistors, transistors, sockets, con-
nectors, integrated circuits, and the lithium cell. The board
is supplied with one 2K CMOS 6116P-3 RAM — it will ac-
comodate three more for a total of 8K.
Send check or money order for $29.95 plus $1.95 shipping
and handling to the address below. The printed circuit
board with the instruction manual is available separately
for $15.00 post paid.
HUNTER, 1630 FOREST HILLS DRIVE, OKEMOS, MICHIGAN 48864 Be
111
Hardware Review
The Quicksilva Programmable
Character Generator Martin Wren-Hilton
The Quicksilva Programmable Character
Generator: £26; Motherboard: £12; Edge
Connector: £4. Quicksilva, 95 Upper
Brownhill Rd., Maybush, Southhampton,
Hants, U.K.
The Quicksilva Programmable Char-
acter Generator is a single circuit board
which plugs into the QS Motherboard or
the QS Edge Connector which plugs into
the back of the ZX81. For the Z X80, a
few small modifications are needed to
connect it to the PCB.
Once installed, it lets the user program
128 different characters rather than the
previous 64 and their inverses. After the
board has been programmed, it can be
LOADed with other programs which use
the new character set.
The QS Character Board is operated
by a small switch mounted on the side to
show the normal characters or the pro-
grammed set. The board comes with
comprehensive and easy-to-follow
instructions as well as a demonstration
cassette with two programs: CHR$ and L-
CASE. CHR$ (1K) provides a series of
machine code routines which make pro-
gramming the board quite simple. L-
CASE (3K) contains all the data for a
complete lower case alphabet set.
At the moment, the ZX81 gets the
information for displaying the characters
from the top 512 bytes of the ROM, from
addresses 7680 to 8191. Each character
takes up 8 bytes of data. For example, the
letter R is made up as follows:
Contents
Location in Binary Total Hex
8120 00000000 0 00
8121 01111100 124 AC
8122 01000010 66 42
8123 01000010 66 42
8124 01111100 124 TE
8125 01000100 68 a4
8126 01000010 66 42
8127 00000000 0 00
Martin Wren-Hilton, 4 Little Poulton Lane,
Poulton-Fylde, Blackpool FY6 7ET, U.K.
112
Figure 1.
100 LET L=USR SINC
110 LET L=USR QLOAD
120 REM E007C42427C 444200
130 REM STOP
The QS Character board represents
each character in exactly the same way.
Thus for example, if for some obscure
reason you wished that the letter E looked
like R, you would load the CHR$ program
and enter the lines in Figure 1.
Once programmed, the characters
remain until they are changed or the
power is removed. However, when the
LPRINT and COPY commands are used,
the normal Sinclair characters are sent to
the printer. To circumvent this problem,
CHR$ has the routines QCOPY and
QPRNT.
The uses of the character board are
virtually limitless. Apart from the use of
lower case to enhance programs, real
“space invaders” can be easily created as
well as more serious applications like
circuit symbols and fine line drawings.
By combining a number of characters
‘Loads the normal character
‘set into the character RAM.
;Loads the following characters
‘into character RAM.
‘The first letter is the one
sthat you want to change and
‘the rest is Hex data for
;the shape of the new
‘character.
; Tells the computer that you
shave finished LOADing new
;characters.
together in one block, the user can pro-
duce high resolution drawings. Figure 2
shows a couple of curves produced on
the board. Figure 3 shows how to plot
high resolution graphs on a 256 x 176 grid
such as seen in Figure 2. To change the
curves, simply change the equations in
lines 120 and 140. Due to the nature of
the character board, you cannot plot very
complicated functions because they
would take up more than 128 of the 704
blocks on the screen. The program needs
more than 1K, and, if entered after the
CHRS$ program has been loaded, you can
COPY the graph onto the printer.
The QS Character Board has 1K of
static RAM on line which can be used for
storing data and some machine code
programs. The RAM lies between 33792.
and 34815. This means that only “relative
jumps” can be used in any machine code
SYNC Magazine.
that is stored there. There is a 4-way
D.I.L. switch on the board which should
be off when the ZX81 is in SLOW mode.
When the board is being used in FAST
mode, or on the ZX80 switches 3 and 4
should be on. All the logic chips and the
two 2114s are soldered directly to the
PCB which is double-sided.
The board is clearly highly recom-
mended and one of the most useful I have
come across. Fa
ANALOG giae ADDA
past 2.5 MS A/D CONVERSION TIME. 8 BIT RESOLUTION.
8 CONTINUOUS ANALOG OUTPUTS
0-2.56V (0-5V W/EXT. Vac).
8 ANALOG INPUTS 0-5V.
ADDRESS PICKS CHANN
DIP SWITCHES SE
I/O MAPPING AS WELL AS WHICH
BLOCK OF ADDRESSES ARE USED.
CAN USE ZX POWER SUPPLY.
UNIQUE DESIGN ALLOWS EASY
INTERFACING TO ANY Z80 CPU TYPE
MICROCOMPUTER AND OTHERS.
MANY MOUNTING OPTIONS TO ZX81.
FINEST BOARD. NEWEST CHIPS.
KIT $180. ASSEMBLED & TESTED $230.
Figure 2. Hi-Res SIN and COS Graphs Using
the QS CHRS Board.
FRE S SIN AND COS GRAPHS. USING:
THE OS CHRE EOARD.
BUFFERED BUS/ DEVELOPMENT BOARD
KIT $65. Bare Board $40 ®/connecror « manuan.
RIDS VIDEO INTERFERENCE.
UHF Modulator REPLACES VHF MODULATOR. $15
CONNECTORS FOR 50 WIRE RIBBON. FEMALE TO ZX $7.
MALE TO PERIPHERALS $7. GOLD PLATED.
4 ELIMINATES VIBRATION PROBLEMS.
USE BOTH CONNECTORS TO AVOID
ROW INVERSION PROBLEMS.
TERMS? MINIMUM SHIPPING CHARGE. CAL RES ADD 6.5% TA
PLEASE SEND STAMP FOR MORE INFO. TO ORDER SEND
CHECK OR M.O. OR CALL FOR COD. PRICES SUBJECT TO CHANGE.
(omputer ,
Figure 3. Listing to Generate the Graphs 3 01 1 6 th Ave O nN t i nN u u mMm
inPigere. 3300 San Francisco, CA 94118 (415) 752 6294
26 POKE 32517.13
27 POKE 32518,127
28 POKE 32519,179
29 PAKE 32520,6
30 POKE 32521,0
31 POKE 32522,79
32 POKE 32523,201
9s@ DIM
110 FOR X=@ TO 255 Ņ
120 LET Y=88+86242SIN (X/128sPI) Q
130 GOSUB Seaee
140 LET Y=88+862COS (*/1282PT)
150 GOSUB soa
= xT x
170 GOTO Sese BUT A COMPLEX SIMULATION OF FOUR MILITARY- INDUSTRIAL
BITC S
eens Se on Š ECONOMIES LOCKED IN A DEADLY STRUGGLE FOR SURVIVAL.
St ees a
æ :
5018 IF x<@ OR X
3175 THEN RETURN
5020 LET A=INT à 1X783 +1 ONE TO FOUR PLAYERS COMPETE WITH EACH OTHER AND/OR
= — THE P A
5040 BOKE 32524 CODE AS (2B) COMPUTER BALANCE OF POWER DEPENDS UPON
+ xð- xX-13 SKILL IN DEVELOPING R ;
Sese Pet agin Bs 22a (S3A-INT X-1 sks ESOURCES, USE OF ESPIONAGE,
` ITATION OF ALLIANCES, AND UTILIZAT
SOSO REM SEZI = ate i ZATION OF MILITARY
S90 LET C=a@ POTENTIAL. REQUIRES ZX81 WITH 8K ROM AND 16K RAM.
51200 FOR A=1 TO 32
5110 FOR B=1 TO-176 STEP 8
5120 IF AS(A,B) <>" “ OR A$A,B+1
1 <>" DR AS(A B42) can v ÁSTA
B+ 45 a E {í + TT VAARA R
AS(A,B45) <>" ” OR ASIA, RI6) 197 " —, LA
OR AS(A,B37) <>" " THEN GOSÙR 51 P.
S130 NEXT B
5148 NEXT A
Eua & Zo
5150 cata sese
S5160 LET C=C+i
5170 IF C>127 THEN GOTO S5250 CORDER FORM FOR CYBORCWA, f
S180 LET B$IRNR.1I+INT (878)) =CHRS R
(C+#642 (C263) 3}
Seas LET ECON be th Bab) Send $14 (plus $1 for shipping) to: STRATAGEM CYBERNETICS, INC.,
= - r 3 4
S210 IF C>63 THEN LET E=255-E 286 Corbin Place, 2E, Brooklyn, New York 11235
5220 POKE 33792+C28+D_E |
5230 NEXT D O NAME
5240 RETURN SE i E A tee aoe wi Mes A E RN ee O
5270 FOR &=1 TO 22 : STATE
S280 PRINT AT 8-1,A-1; 8S (A,B)
S5290 NEXT B
9 A |
2 a ee Wales Wo
R ƏCOPY e g SN WO) tT NK \\ = \ Ke 3]
5320 IF INKEY$="X" THEN GOTO S34
S330 GOTO s21@e Q
5340 LET L=USR SINC
5260 FOR A=1 TO 32 RU We ee E A Al) a e Sa eS
November/December 1982 113
8K ROM
16K RAM
New users of the Timex/Sinclair com-
puters sometimes spend a long time hunt-
ing for a specific key. The keys that are
not used frequently remain hard to find.
Keygame is intended to help the user
become familiar with the keyboard and
to have some fun while learning.
Keygame classifies users into five skill
levels: 1) beginner, 2) trainee, 3) pro, 4)
expert, or 5) master. The character set is
subdivided into seven subsets. The begin-
ner is asked to find only the simple keys,
i.e., those in the L-cursor mode requiring
no shifting. The trainee must cope with
the shifted keys. The pro has to find the
keyword keys such as PRINT, IF, and
SAVE. The function and graphics keys
are added for the expert and master,
respectively.
As the player’ s skill level increases, his
handicap increases in steps of 10. The
beginner has no handicap; a trainee has a
10 point handicap, and so on for each
skill level up to a 40 point handicap for
the master. Furthermore, less time is
allowed to find each key as the skill level
increases.
The immediate goal of the game is to
score 150 points to win a promotion to
the next highest level. The object of the
game is to score 150 points at the masters
level. Promotions occur automatically
when a score of 150 points is attained;
demotions occur if one’s score falls below
one. A player may start at any level de-
sired because the promotion/demotion
system is self-correcting. The points
gained for each key equal the skill level
associated with the key: 1 point for
ordinary keys, up to 5 points for the
graphics keys. The penalty for a missed
key is double the point value of the key.
In responding, it is necessary to press
the shift key for those keys that normally
require it, i.e., shifted keys and graphics
keys. It is not necessary to press the
shifted 9 first to enter a graphics key
response or to press the shifted ENTER
key to enter a function key response. The
program takes care of that automatically.
One’s skill level will increase with play-
ing. If desired, the response time limits
can be shortened (or lengthened) by de-
creasing (or increasing) the value of the
first number in the parentheses in line
520.
We hope you enjoy playing Keygame,
but, more important, we hope you will be
able to master the keyboard in this rather
painless way! Ba
Joseph J. Charles, 130 Sherwood Dr., Hilton, NY
14468.
114
A Keyboard Learning Game
Joseph J. Charles
THANK YOU FOR PLAYING ME.
WHAT IS YOUR NAME?
SYNK, ARE YOU A...
2 BEGINNER i KEYS 3
2 TRAINEE (+SH IFT }
3 PRO. L+KEYWORDS)
4 EXPERT {(+FUNCT ION}
S T £+GRARPHICS)
OK, SYNK, YOU ARE PLAYING
AS AIN) PRO . YOUR STARTING
SCORE IS 8&0 POINTS.
10 REM KEYGAME
20 REM WRITTEN BY JOSEPH J. CH
ARLES
36 REM 130 SHERWOOD DR. HILTON
{7126} 392-0152
40 REM 11:45 PM 7731/62
N
ET Z$=“CPPIJKOWEASDOZXRHNFGO
99 LET Li) ="BEGINNER “
100 LET L$(2)=“TRAINEE “
110 LET L€(3} =“PRO_“
120 LET L${4)}=“EXPERT “
130 LET Arai =“MASTER “
140 LET M$(23 =“ KEYS"
150 LET N$(2) =“ +SHIFT" za
1650 LET M$(3) ="+KEYWORD
170 LET M$(4) =" +FUNCT IONS"
18@ LET MS&(5) ="+GRAPHICS'
19@ LET W$="1234567690123456759
210 LET
one PRINT “THANK You FOR PLAYIN
30 PRINT
240 PRINT “I WAS TIRED OF JUST
BEING“
250 PRINT “WOUND ON THAF CRSSET
TE.“
a Is YOUR NAME? "
300 PRINT Nýi", ARE YOU A..."
320 FOR I=1 TO S
330 PRINT TAB S
LERS
340 PRINT TAB 6);
3
=1ð0-1ðiL-1)}
INT
419 PRINT “SNS; “, YOU ARE
Puar es
420 PRINT “AS RAN? “LEL ™. Y
BUR STARTING
30 PRINT “SCORE IS “;5C;"“ POIN
440 PAUSE 380
REM
450 GOSUB 820
CLS
480 IF S=5 OR S=6 THEN LET L=-2
rig iF S=5 OR S=6 THEN PRINT AT
KEY: 7's $3"
éa” IF 5:35 AND 5<>6 THEN PRINT
AT 1,9; “KEY: ".Y$
510 LET X$=""
52@ FOR J=i TO (3@-22t}
wae? TF INKEY$<>"" THEN LET X$=I
S40 IF x#<>"" THEN GOTO S566
SS@ NEXT
56a RER
578 S=3 THEN LET Y$=CHR$ iC
ODE vad -192)
580 IF Y$>=CHR$ 193 AND Y#€¢ sonn
$ 215 THEN LET Y$=Z§(CODE 7$-319
’ see TF 5=5 OR S=6 THEN LET L=5
el GA
Listing 1. Keyboard Learning Game.
KEY: PRUSE
3 SCORE: 53
KEY: PRINT
-6 SCORE: 78
Si F S525 THEN IF X$c¢>VS (CODE
be 4 THEN LET P=-2 P
39 IF S=6 {Sy EE Ene +E (CODE
T P=
& IF S=5 OR S=6 THEN GOTO 6498
630 IF X$<>¥ THEN LET P=-2sP
649 LET Sc=s¢+P
ene “POINTS: “;P;“ SCORE
A
680 IF SC<1 THEN uE Ł=L-21
i
700 IF SC:@ THEN GOTO 799
tral hy aha N¢;" YOU ARE NOW ACN?
L$
726 GoTo 790
z750 IF SCci5@ THEN GOTO 460
40 IF L=5 THEN PRINT AT 10,0; “`
p NBS You AR
RE!
750 TF L=5 THEN "STOP
766 aap L= tł
Eh be ARE PROMOTED TO
Be apse! 1é0
S$C=10@0-1@2 (L-1)
466
we ey ENE
Dri: 4:5 &:
84@ REM LEVELS: nee :3:4: 5 :
ase IF t=2 AND S=2 “THEN LET $=5
+52INT (.5+4RND}
860 IF UL=5 AND S=S THEN LET S=%
+EINT (.5+¢4RND}
870 IF S=12 THEN LET YS=CHRE INT
(27+37 €RND}
as IF CODE MBL: Sree ig THEN GOTO 870
ie Aa ai 5= d LET Y$=CHR$ INT
+
280 a CODE hE e =12 THEN GOTO 89g
918 S=7 THEN LET YS$=CHRS INT
2396424 RND?)
926 IF S=3 THEN LET YS$=CHRS INT
(230 +426 RND?
O3@ IF S=4 THEN LET YS$=CHRES INT
(1934235 =RND?}
9490 IF CODE Y¢=195 THEN GOTO 33
LET Y¢#=CHRS INT
960 IF 5S=6 THEN LET Y$=CHRS INT
(12941@2RND)
970 LET P=5
98@ IF S=7 THEN LET P=2
$993 IF S=6 THEN LET P=5
1300 RETURN
eae Re GRAPHICS CODE CONVERSIO
1020 REM TYPE SHIFTED KEYWORDS &
IND. ELON
10530 LET U$(1)=CHR$ 117
1040 LET U$(2)=" AND
1050 LET U$S) =CHRE 112
10960 LET WEl4}=" TO
1070 LET US(5S) =CHRS 114
1080 LET US(6 TO 12)="<> STEP ST
OP SLOW LPRINT ““ OR “
1090 LET WU$(i3) =CHRE 115
1100 LET USILE? =n coe
1110 LET U${15)=CHR$Ẹ 115
tise LET Us(i? TO 20) =" TH
. x EN =
LLIST Fast “ p
1ł RETURN
1150 REM SYNCSUM=e899
SYNC Magazine
ESOL Ces
The “Resources” column lists new
products for Sinclair users. Suppliers and
users are invited to send brief product
descriptions and details for ordering to:
Resources, SYNC, 39 E. Hanover Ave.,
Morris Plains, NJ 07950.
User Groups
Arizona
e New Phoenix ZX80/81 Users Group.
Contact:
Randy Saxton
4827 N. 63rd Dr.
Phoenix, AZ 85033
(602) 846-2882
Connecticut
è The New Haven Sinclair Study Group.
Publishes a monthly newsletter for
children. $6.00 payable to:
Chris Baldwin
Sinclair Study Group
16 Lewis St.
New Haven, CT 06513
Illinois
e Chicago/Des Plaines Area Sinclair
Users Group (specializing in CIRCLE
CHESS). Contact:
A. F. Stanonis
PO Box 63
Des Plaines, IL 60017
Indiana
è Anderson, Indiana, area. Contact:
Richard K. Berg
915 Sunset Dr.
Anderson, IN 46011
(317) 644-1873 (home)
(317) 644-8861 (bus.)
Maryland
è Lanham Sinclair Users Group. Pub-
lishes The Computerist, a newsletter at
irregular intervals. Contact the editor:
Cora C. Dickson
9528 Elvis Ln.
Lanham, MD 20706
(301) 577-6645
November/December 1982
Missouri
e Timex/Sinclair Users Group of Kan-
sas City Contact:
Peter B. Wolcott
305 West 51st Terr.
Kansas City, MO 64112
(816) 753-8546
New York
e Mid-Hudson Users Group. Contact:
Fr. Bruce O. Bowes
Church of the Resurrection
Hopewell Jct., NY 12533
(914) 226-5727
Pennsylvania
è Central Pennsylvania ZX Users
Group.
Contact:
Jim Whittaker
Quarters G, Antrim Dr.
Mechanicsburg, PA 17055
(717) 766-8365
e Turkey
Club Mediterranean ZX81
Mustaffa Sokullu
Istasyon cad., 43/8
Goztope, Istanbul
Turkey
Virginia
è Franklin County area users. Contact:
Gary Preston
c/o C. Irvin
Rte. 1, Box 21
Glade Hill, VA 24092
Washington, D.C. Area
è Prince George’s Sinclair Users Group
(PG-ZUG). Contact:
Jim Wallace
5442 Tilden Rd.
Bladensburg, MD 20710
(301) 699-8712
User Group Forming
e Sinclair users interested in using the
ZX81 for stock market technical
analysis. Contact:
Daniel Swenson
3439 Oakland Ave., S.
Minneapolis, MN 55407
èe Educators and parents interested in
applying the Timex/Sinclair to educa-
tional settings. Contact:
M. Mark Wasicsko
School of Education
Texas Wesleyan College
Fort Worth, TX 76105
e World Sinclair users invited to join our
sophisticated multi-national club. Send
SASE and short computer
background.
The Greater Metropolitan
Club of USA
ZX Users Group of New York
Box 560 Wall Street
New York, NY 10005
Indiana/S Illinois/SW Ohio/NW
Kentucky Area
è Send long SASE to:
The FUN-Z
PO Box 914
Jasper, IN 47546
Louisiana
è Greater New Orleans Area. Write to:
E.V. Sandy Blaize
417 Ridgewood Dr.
Metairie, LA 70001
New Jersey
e Morris County Area. A ZX80/81
Spectrum Users Group. Contact:
Larry Spencer
6 Forest Ct.
Morris Plains, NJ 07950
(201) 285-7819 (days) 267-5566
(eves)
115
RUNNERS!
Road racing program cassettes for TIMEX/
SINCLAIR Computers (minimum 2K RAM). $5.95
for sample or send SASE for catalog of programs.
EVANSOFT - Dept. R
1246 Elmwood Avenue
Evanston, IL 60202
1or2K LISTINGSs:BERZXORG 3
SLOTS SCREEN STREAKS; 3-D
crapnor cnaravar An FOR
nS f- ae € & paye
1925 Lithin Roe
VARIECO CE? 33804
ZX TELEPHONE BOOK
e Holds 720 names plus easy ADD/CHANGE/
DELETE functions!
e Extensive “learner friendly” documentation even
shows you how to add multi-access capabilities!
R this high performance 8K/16K listing at BIG
AV
e Only $4. 95 from:
THOMAS B. WOODS
BOX 64
JEFFERSON, N.H. 03583
men
IMPROVED HEAT SINK for ZX81 &
TS1000 eliminates system crashes
caused by piei $7.95
check/money order or SASE for
complete details to:
BASCO, 289 Baxter La, Milford
CT 06460
PORT - A - SINC
Port-A-Sinc is a handsome attache style
case which includes a spike protected, 8
volt regulated power supply; and a 12
volt, 2.6 AMP-HR, rechargable battery.
Snap your sinclair into port-a-sinc and
leave it. You now have a completely
portable computer as well as one which
is protected against power outages and
spikes. For complete details write:
Anderson Engineering
Rt #9, Box 19
Tampa, Fla 33610
Or enclose $140 check or money order
for prompt shipment.
IMPORTED GAME CASSETTES
TIMEX + ZX81 16K $14.95 EACH
“10 GREAT GAMES” NEW RELEASE!
JUST IN TIME FOR CHRISTMAS KIDS
“TRADER JACK” FANTASTIC FUN GAME
BUSINESS LOGIC-SOUTH PACIFIC LOCAL
THIS ONE IS FOR DAD AND MOM!
SAVAGE SOFTWARE, PO BOX 441
TITUSVILLE, FL. 32780
ZX81 16K Z80 DISASSEMBLER ON CAS-
SETTE FOR $7.95. PROGRAM IS IN BASIC
(5K) SO THAT YOU CAN EASILY MODIFY IT
FOR USE WITH THE ZX PRINTER OR
YOUR PARTICULAR NEEDS.
ZX81 PROGRAMS
106-B ANTOINETTE CT.
CHARLOTTESVILLE, VA 22903
116
Resources, continued
New York
e Southern Tier Area. Sign-up sheet and
information newsletters at:
Unicorn Electronics, Small Mall
Harry L. Drive
Johnson City, NY 13790
Ohio
e Cleveland area. Contact:
R. F. Sieg
19502 Thornridge Ave.
Cleveland, OH 44135
Canada
è Vimont Laval area. Contact:
Bill Walsh
125 De Piemont 2
Vimont Laval H7M 1B7
Canada
Graphics
è Graphpak: Program using the Sinclair
to present statistical information visu-
ally and featuring bar graphs, line
graphs, pie charts, and area graphs
(rectangle divided to show percent-
age). Program useful for enlivening
term papers and proposals, plotting
scientific data, assisting in business
and family financial planning.
Approximately 10K. Regularly $14.95
but $11.95 if ordered before Jan. 31,
1983; s&h included. SASE for details.
Practical Computer Products
21111 Strathmoor Ln.
Huntington Beach, CA 92646
4K Graphics ROM for the ZX81. Pro-
vides 257 extra characters including
lower case letters, graphics for various
popular games, and inverses; board
can be fitted with up to 4K extra ROM
or RAM for machine code, U.D.G-.s,
etc.; board fits inside the ZX81 case
under the keyboard; 3 solder connec-
tions. $125.
Ultimatum
3470 McKinley Dr.
Abbotsford, B.C. V2S 6B7
Canada
Magic Graphics. Draws in 8 directions,
lifts and moves the drawing point, re-
draws the graphic, gives all co-
ordinates of any graphic you create,
moves your graphic to new position on
the screen. 8K ROM; 16K RAM.
$14.95.
Orbyte Software
PO Box 948, Dept. SR
Waterbury, CT 06720
(203) 753-8308
Power Supplies
and Switches
è Power on/off switch for ZX81 or T/S
1000. Greater convenience and elimi-
nates wear and tear on plugs and jacks.
174, x 1⁄2 x 1 inches; plugs into the
computer. $14.95.
Robert F. Downs
Lyon Ware
1520 S. Lyon
Santa Ana, CA 92705
(714) 835-9512
è Power supply to meet expansion needs
of the T/S 1000, ZX80/81 Well-fil-
tered, 2 amp supply powered by 3
terminal grounded wall transformer;
rectifying and filtering elements
housed in small black enclosure. Plugs
directly into input jack. $19.95 plus
$2.50 s&h.
Hurricane Electronics
PO Box 87
Dolton, IL 60419
e ZX81 Power Supply. 2 well-filtered
outputs Output 1: 5 volts at 1.5 amps:
output 2: screwdriver adjustable from
6.5 to 15 volts at 1.5 amps. Incor-
porates push button to clear the com-
puter, an LED power-on indicator,
and connecting plug and cable; over-
comes problem of heat in the original
power pack; housed in 5 x 4 x 3 inch
aluminum enclosure. $37.50 plus $3.50
s&h. (California residents add 61⁄2
tax.)
MacSwan-Packaging Co.
PO Box 4697
Downey, CA 90241
Educational Programs
e Educational Programs for the ZX81
(16K). Ages in parentheses. French
Revisions (14-17); Maths Revisions
(14-17); Intermediate Maths 1 & 2 (8-
13); Intermediate English 1 & 2 (8-13);
Arithmetic for the under 8’s; Educa-
tional Quiz for all the family. Cas-
settes, $10 each plus $4 per order
shipping and packing.
Rose Cassettes
148 Widney Lane
Solihull
West Midlands B91 3LH
U.K.
e Words. Exciting fun and education for
all ages; six category spelling game;
high motivation; positive reinforce-
ment; one or many players. $14.95.
The Quiz. Math game for grades 1-4;
will improve skills at all ages; virtually
unlimited problems of addition,
subtraction, multiplication with
SYNC Magazine
reinforcement graphics. $12.95.
Orbyte Software
PO Box 948, Dept. SR
Waterbury, CT 06720
(203) 753-8308
e Lunar Cycle. Approximation for
determining the lunar phase for any
day this century; accuracy usually
within 1 day; rarely over 3 days.
Permutations and Combinations. Or-
ders up to 33 items in one group.
Arithmetic and Geometric Pro-
gressions. Computes the value and
sum of a specified number of terms
with a common difference or ratio,
starting with the first user-defined
term. 8K ROM; 2K RAM. Listing
and directions: $2 for each program.
Stephen Zachev
4859 Elmwood St.
Muskegon, MI 49441
Games
e Lost in Space. Moving graphics;
flicker-free. Steer ship past meteors
and enemy ships; land on fuel ship for
bonus; status monitor. 8K ROM; 16K
RAM. Cassette and instructions:
$11.95 plus $1.50 s&h (New Jersey
residents add 5% tax).
M. C. Hoffman Company
PO Box 117
Oakland, NJ 07436
© Acid Rain. Missile Alert. Superb graph-
ics. Machine code. 8K ROM; 16K
RAM. Both on one cassette: $14.
Chris Taraba
Box 394
Goderich, Ontario
Canada N7A 3Y5
è Appolo. Red alert, defend your missile
station. $14.95. Chopper. Manuever
your helicopter through the treach-
erous cavern, dodge the enemy fire.
$19.95. Mission Escape. Simulates fight
and flight in space; all graphic. $14.95.
Froggy Hop. Help the frog cross the
road to the lake. Tennis. Take on the
computer. Gobbling Goblins, Horse
Race, and High Rollers. 8K ROM;
16K RAM. Each on cassette: $9.00 ex-
cept as noted.
Just Games
172 Fifth St.
Stamford, CT 06905.
e Treasure Seeker. Graphics fantasy
game; search for a treasure through
multiroom dungeon while fighting dif-
ferent types of monsters. Three other
games included: Skiier, Mars Lander,
Crumblin Caverns. 8K ROM; 16K
RAM. Cassette: $7.95 plus $1 s&h.
Spartan Software
1403 Gloria Ln.
Boulder City, NV 89005
November/December 1982
© Mars Lander. Position your cargo ship
over your Mars base and land safely.
8K ROM; 16K RAM. For details
write:
Mark E Rogers
553 Melrose Dr.
LaPlace, LA 70068
è Space Adventure. Choose your speed
and direction to navigate through the
gravitational fields of four black holes
to reach home safely; new configura-
tion of black holes and home planet
each run. Cassette and Basic listing:
$10.
Aries Associates
511 Mary Ave.
Huntingdon Valley, PA 19006.
© Demon-Driver. Car chase with the user
vs. the ZX81. Fully machine code.
Send international ostal couoon for
information sheet. Double-saved cas-
sette, air mail to U.S.: $10; to U.K.: 5.
Mrs. Dan Kurth
Langgasse 51
CH-3292 Busswil
Switzerland
Utility Programs
è EX-HEX. Allows user to read, write,
and test machine language programs
in hexadecimal code; performs from
menu: conversions (hex to decimal and
decimal to hex), block moves, program
insertions and deletions, RAMTOP
setting, program saving (including pro-
grams stored above RAMTOP). 8K
ROM; 16K RAM. Cassette and
instructions: $9.95 plus $1 s&h per
order.
RCO Technical
PO Box 773
St. Ann, MO 63074
e The Display File Map. $1.00. (Free
with order). Further information upon
request.
Harthun Engineering and Research
PO Box 111
Albany, KY 42602
(606) 387-8391
e “Teach Your ZX80/81 to Talk.” De-
tailed plans for hardware, parts
sources, and software to make your
computer produce natural speech;
sounds human, not like science fiction
robots. 8K ROM. $5.00 pp.
Harthun Engineering and Research
PO Box 111
Albany, KY 42602
(606) 387-8391
e “Adventures in Artificial Intelli-
gence.” Life forms created range from
simple “reflex” creatures to those ca-
pable of “learning”. and “killing”; en-
Don’t spend a fortune on a disk
drive until you try our:
L&G Vu-Load Volume Monitor
e insures program /oad every time
e monitors tape output level
e gives positive save indication
e detects blank tape without
disconnecting cassette wires
e ready to use—no wiring
Level-Vu Prism
Let’s you see recessed tape counter
without moving from seat
e attaches easily to recorder body
or lid
e fits most recorders including
Radio Shack, Vic-20, Atari
e magnifies counter numerals
Vu-Load Monitor $19.95 + 2.50p &h
Level-Vu Prism $3.95 + 1.00 p & h
L&G Enterprises
P.O. Box 6854
Silver Spring, Md 20906
(301) 774-0126
ARTIFICIAL INTELLIGENCE
FOR THE ZX81?
YES!
SYNCZX is an artificial intelligence
program with natural language capabili-
ties for the ZX81 with 16K RAM, avail-
able from Frog Software.
SYNCZX will talk to you in ENGLISH/
NO MENUS. You can use SYNCZX to
balance your checkbook or you can re-
program SYNCZX to do anything you
would like. However you do not need
programming skills to use SYNCZX as
is. Even a child can use SYNCZX be-
Cause it is easy to read and understand,
talking to you in simple English.
SYNCZX even remembers the people
who use it! 16K cassette with manual
only $6.95 plus $1.50 postage & han-
dling.
ALSO AVAILABLE
PERSONAL COMPUTING PACKAGE
7 programs. Graphs (1K), Appoint-
ment book (16K), Checkbook (16K) and
Three Games (1K), etc . . . All 7 for only
$1.95 plus .70¢ postage & handling.
Send to:
Frog Software
Box 95
Glenmont, New York 12077
(518) 465-6552
117
EDSON ELECTRONICS OFFERS
Educational programs for grades !
1-4 that reinforce what they learn in
school. We also offer a digital dis-
play load monitor for monitoring
data from the cassette to the
computer.
Write to
Edson Electronics
P.O. Box 151211
Tampa, FI. 33684
for free info.
MARKETING SERVICES
For those unfamiliar with techniques in mar-
keting methodology.
Send us your original programs for review.
Send S.A.S.E. for full details, now.
Computer Software Marketing
Box 48595
Chicago, Illinois 60648-0595
IS YOUR FAMILY TIRED
OF PLAYING GAMES ON
YOUR MICRO?
ARE YOU LOOKING FOR WAYS
OF CHALLENGING YOUR
INTELLECT?
INTELI-QUIZ IS THE SOLUTION!
Through INTELI-QUIZ you can test
your family’s or your friends’ knowledge
on your 16K ZX81.
NOW AVAILABLE
2 Quizzes per cassette
issue 1.1 “General Knowledge” $5.00 each
issue 1.1 “Movie Trivia” $6.00 each
issue 1.1 “Sports Trivia” $6.00 each
Send Check or Money Order to:
S.C...
Box 553
Mechanicsville, Virginia 23111
Virginia Residents add 4% sales tax.
Overseas orders add $1.00.
ZX81 VIDEO INVERTER ADDS PROFES-
SIONAL TOUCH.
NO MORE EYE-STRAIN.
DISPLAY SHARP WHITE CHARACTERS
ON SOLID BLACK BACKGROUND TV
SCREEN.
A TOGGLE SWITCH LETS YOU CHOOSE
BETWEEN NORMAL AND REVERSE.
THE SMALL PRINTED CIRCUIT BOARD
FITS INSIDE YOUR ZX81.
ALL FULLY TESTED WITH CONCISE
INSTRUCTIONS.
MONEY BACK GUARANTEE.
AVAILABLE AS KIT £5 / $10
READY BUILT £6.50 / $ 13
PRICES INCLUDE AIRMAIL. SEND £ OR $
CHECK.
D. FRITSCH
6 STANTON ROAD
THELWALL
WARRINGTON
CHESHIRE
WA4 2HS
UK
Resources, continued
tire ‘‘communities’’ are set up.
Machine code for fast action. 8K
ROM; 16K RAM. Cassette and man-
ual: $8.95; manual only: $5.00.
Harthun Engineering and Research
PO Box 111
Albany, KY 42602
è Program “CWSS”. Split screen CW
Transceive Program. Received CW is
printed on the top 10 lines of the
screen; the transmit display, the bot-
tom 10 lines; the two halves scroll in-
dependently; will copy CW up to
about 40 wpm. Cassette: $10 pp. I/O
interface required; 2 board etched cir-
cuit board set for the interface: $12 pp.
Cliff Nunnery, NU4V
313 Vaugh St.
Fort Walton Beach, FL 32548
Publications
è Time/Sinc Directory. Lists Timex, Sin-
clair users and user groups in your
area. For two issues (early 1983 and
mid-1983) send $2.00 and 2 long
SASEs to:
Time/Sinc Directory
PO Box 23170
Milwaukee, WI 53223
e ZX Source List. An up-to-date listing
of over 165 supplies of hardware, soft-
ware, books, and users groups in the
U.S. and Canada. $3.00.
G. E. Topp
PO Box 388
Klamath, CA 95548
èe SYNC-hronizing Education and
Games. Vol. 1, no. 1, now available.
Programs include: Shoot the Teacher,
Artist 2, Warship, and Attack. Fea-
tures articles and tips. Yearly
subscription (16 programs): U.S.,
$7.00; Canada, $8.00.
SYNC-hronizing Education and
Games
Henry Svec
668 Sherene Terrace
London, Ontario
Canada N6H 3K1
e QZX. The journal covering amateur
radio and Sinclair computers (ZX80,
MicroAce, ZX81, and Timex/Sinclair
1000) is continuing publication with
Alex F. Burr, K5XY, as publisher and
Ambrose “Bo” Barry, W4GHV/5, as
editor. The new address is:
2025 O’Donnell Dr.
Las Cruces, NM 88001
èe The DATAmerica ZX-Index. A
sourcebook of software, hardware,
publications, services, and users
groups for the ZxX80, ZABI,
MicroAce, T/S 1000, and Spectrum
computers. If you are interested in
listing anything, contact:
The DATAmerica Computer
Users Group
312 E. 84th St., la
New York, NY 10028
e A Directory of software and hardware
suppliers being compiled for distribu-
tion in the U.S. and West Germany.
Suppliers are invited to send informa-
tion about products and books for
inclusion to:
Walter Gampper
Zollamtstrasse 50
675 Kaiserslautern
West Germany
RAM Expansion
e 16K RAM pack for the ZX81. Injec-
tion molded plastic case; overcomes
wobble and disconnection problems
characteristic of other units; optional
extra is a keyboard sounder giving au-
dible feedback when a key is pressed.
RAM pack: $19.95; RAM pack and
sounder: $24.95.
Ground Control
Alfreda Ave.
Hullbridge, Essex SS5 6LT
United Kingdom
e ZX81 2K upgrade. Kit including
instructions and IC socket: $14. Send
$24 and your ZX81, and have your up-
grade done for you.
Micro Basics
5768 Albans Circle
Lithonia, GA 30058
e Expand your ZX81 1K to 16K or 16K
to 32K for unde $30. Fits inside yoru
ZX81. Plans: $5. SASE for list of
peripherals.
T. W. Cook
MACS-24 MCAF
Quantico, VA 22134
(703) 640-3188
SYNC Magazine
e Organic Micro. A collection of mod-
ules to expand the ZX81 with the
capability of reconfiguration to form
an upgraded system in the future.
Modules available: Persona—an inter-
face to enable an Organic Micro to
Grow on the ZX81 (£24.95); Mini-
map—a memory mapping device to
extend the address space of the ZX81
from 64K to 1M (£29.95); RAM
08— expands RAM from 2K to 8K
(£19.95); RAM 16—16K RAM add-on
(£21.95); RAM 64—64K RAM add-
on (£64.95); Toolkit—a module to take
up to 8K of utilities in EPROM/ROM
(£17.95); DROM (£32.95); Pericon a
(£22.95), b (£27.95), and c (£34.95)
—I/O modules; Userfont—user de-
finable characters for RAM 08,
DROM, and Toolkit (£6.95).
BASICare Microsystem Ltd.
5 Dryden Ct.
London SE11 4NH
United Kingdom
01-735-6408
Joysticks
è Add a joystick to your 8K ROM
ZX80. Hooks up in minutes. Plans and
parts (does not include Atari type joy- |
stick): $6. Specify your machine.
Ron Howard
1 Ridgelan, Apt. 5
Florissant, MO 63031
e Hook up your own Atari joystick to
your ZX81. Accessed through basic or
machine code; examples given. Com-
plete kit; a little soldering: $39.
Chris Taraba
Box 394
Goderich, Ontario
Canada N7A 3Y5
EPROM
eI/P Nonvolatile Memory EPROM
Programmer. New ZX81 plug on
module has 6 I/O prots and 4 sockets
for 2K memories; static RAM or 2716
EPROM may be used; save USR pro-
gram in EPROM for ready access or
use static RAMs. Kit: $79; assembled
and tested: $99. Low cost EPROM
programmer for 2716 EPROM. Inter-
faces to ZX81 through 3 parallel ports;
includes software to program or copy
EPROM. Assembled and tested: $79.
Wisconsin Electronics
PO Box 332
Milton, WI 53563
Program Collections
e ZX81 Programs. Tape (3). Business;
Tape (5) Quiz; Tape (1) Games; Tape
(4) Investment; Tape (6) General;
Tape (2) Diet. 8 programs per tape.
8K ROM; 1K RAM. Cassette: $8
each.
Roman Software
788 Mercury Circle
Littleton, CO 80124
e Programs for the ZX81 or T/S 1000.
Games, business, household, educa-
tion, graphics, and other general items.
For free catalog send SASE to:
ZXAD Software Unlimited
404 Edgewood Dr.
Exton, PA 19341
Printers & Supplies
è Paper rolls for the ZX printer now
available in the U.S. by mail. Electro-
sensitive paper with a whiter back-
ground for superior contrast and
legibility. 3 rolls: $12 postpaid.
E. Alvarez
PO Box 1025
Oviedo, FL 32765
TIMEX and SINCLAIR FORGOT!
Here’s
ADD-A-SWITCH
Power switch for Timex 1000 and Sinclair ZX-81
e Installs instantly - no
computer modification
e Eliminates plug & jack
damage
e Saves hassle - no loose
cords in work area
e Protects your computing
equipment
Mail to: Lyon Ware, 1520 S. Lyon, Santa Ana, CA 92705
Please send me the ADD-A-SWITCH for $14.95 ea.
C Check O Visa
Signature
ME se ee gS ED.
Name
Street
City
edie 8 i a AO
Calif. residents add 6% sales tax. Visa, MC add $2 handling.
Lyon Ware is an affiliate of Development Associates
O Master Charge
November/December 1982
ZX-FORTH
Now you can have the SPEED and POWER of comput-
ers costing hundreds or even thousands of dollars more
inside your ZX81. FORTH is now available on cassette
for the 16K ZX81/TS1000. EASIER to learn than BASIC
and the most powerful language available for the ZX81
10 TO 20 times FASTER than BASIC and typically uses
less than HALF the amount of RAM space needed by an
average BASIC program. Includes extentions for speedy
graphics handling, as well as basic data handling func-
tions. Sample programs written in FORTH included at no
extra charge are: Scratchpad, a simple word processor,
and Breakforth, an arcade-type game. Also included is a
complete bibliography and information about fig-
FORTH, the international FORTH users group.
Find out why FORTH is gaining worldwide support as the
state of the software art and have fun learning about
computers the fast and easy way.
THE FOURTH DIMENSION
1451 N. UNION STREET
MIDDLETOWN, PA 17057
ZX-FORTH® 16K CASSETTE $34.95
Add $2.00 shipping and handling.
Add $7.00 shipping and handling for foreign orders.
119
Resources, continued
Business/Household Programs
e Z-Wryter Word Processor. Allows
user to write, edit, and save text on
cassette; edit functions to modifify
pages, lines, or individual characters.
8K ROM; 16K RAM. Cassette and
instructions: $9.95 plus $1 s&h per
order.
RCO Technical
PO Box 773
St. Ann, MO 63074
e Universal Inventory File. Files created
by menu and prompts; 2 ways to
search; start new files, add, delete,
check, and more. 8K ROM; 16K
RAM. Cassette & manual, $16.95
postpaid.
e U.S. Savings Bonds. List the series, is-
sue date, serial number, and de-
nomination for 25 bonds; add or delete
bonds, make changes, increase or de-
crease number listed. 8K ROM; 16k
RAM. Source list and instructions:
$2.50 check or money order.
John B. Carson, Jr.
11200 Lockwood Dr., No. 307
Silver Springs, MD 20901
è Compu-Stat. Calculates most descrip-
tive statistics, graphs frequency dis-
tribution; menu driven; manual gives
step-by-step explanations. Cassette and
manual: $9.95.
Computercraft
156 Drakes Ln.
Summertown, TN 38483
e7 programs for the 1982 tax return.
Data is interactively entered, exam-
ined, modified; results seen immedi-
ately; forms can be printed and/or
saved on tape for future use; Form
1040 and Schedules A, B, C, C1/C2,
D, and E are featured. Available in
January 1983. $14 (cost is deductible).
KSOFT
845 Wellner Rd.
Naperville, IL 60540
e Universal Inventory File. $16.95 plus
$1.50 s&h. Universal Mailing List.
$10.95 plus $1.50 s&h. (New Jersey
residents add 5% tax.)
M. C. Hoffman Company
PO Box 117
Oakland, NJ 07436
èe ZX Data Finder. High capacity file
manager; versatile catalog/index/ref-
erence tool; edit, search, and display
routines explained in text; a course on
file and data storage techniques. List-
ing and documentation: $9.95. Data
sheets on program capabilities are free.
Thomas B. Woods
PO Box 64
Jefferson, NH 03583
è The Diggles Kitchen. A series of cas-
settes to build up a world wide cookery
book using the recipes of John and An-
gela Diggle. 3 vols. available now:
World-wide Cookery, European Cook-
ery, Everyday Family Meals. 2 vols.
coming: Chinese and Indian. Prompts
the user at each stage. 32K of pro-
gram; about 28 recipes per tape. $9.99
plus $2 s&h.
Micro Computer Software
Unit D6, Pear Industrial Estate
Stockport Rd., Lower Bredbury
Stockport SK6 2BP
United Kingdom
061-494-2441 Fa
SATS CANS AE TA A A I AD rs a I A a N A EN T S E li a E ae ee hy ere
PA I Aaa o AT E E E ES, ET A 58
E a T I E A EA R EEES EE EE EENT EAR AET i 38
Abacus ESIOCUT OMICS Ti oe aei spscidergarneredeccdonssqaprbokocdboleouts 86
Pe Eaa AE Ee og. oes RE P P EE SAET oe enpan danas A O R E 84
INSE E I E E E EEE EAE N 63
IR EI a a S EE ANES A E E 68
Advanced Interface Designs -dissirita essa agete sdo fose ieit 91
ABCO inis ES EES A T E E ESS T A E E 6
Apropos Technology.............scccsrecccssssreccesersssessecessssesevsennes a7
ANGEPEON ENZinicering,.......:...6.5ss.scvecscescostnedossrcecesangeeanes 116
AMES ASSOCIO a dois as og 1055 roe i street cbs arsa saai ae eeen 104
ETE a A ER A P PEN ESASEN RAET TEANTA 110
aI TA Te AT E AAE E E ANT 66
PASCO shade a E a a Dears EAD A Ro A 116
Basically. SOICWATE <. ndesa oonan boeie igoa eed nania S NEn aea ke tiia Eais 85
aa 0) 3 (a) yor s pean Sie KE Te OE E ANE T T 4, 50
a E E Ie aA RO AE A ns hc A E EA T O A, 45
aA ar S E ARA is an EE E E AR E A O A E PE
Bie Byte nso E E EE P A E E AE syd OE 11
Byte Back CO. ae Ei Aoa Iaa eaae iae anane ena E 12
C20 Mae BAN a aig Fades ads san) asipat ona ai ken sac ESAS n SaN Es 53
CAL AruUMENS 5S vce spina ctadadnc cede hcedtentdces svedegatepees 31
CED Corp Boeke i accanedanaccekduscutnoksaroeonshhbbgetvenasunasaesouaieadics 47
OI RAA AE 0s. AENA Sheen opened OAOE TET 86
Circ C Hess a nn re sairat Bue s iar eT a NEANS 58
Cleva Gomiputer. WATE insaat Abe ii eaaa oe Shae aeai 20
Cole CONSTANTE N eaae esio taes kneaded asde tenders <otnts 89
Compu-Tech and Software.........ccccccssssesececsssssberseessseseedes 40
Computer Continuum A.s. eeii oripa oneee Erosit ERTE 113
Computer Engineering Service’............cscccccrseccesessesessecrsesees 54
Computer Software Marketing ..........:::cccsssceseneeeesereeeeees 118
Commpiithittk A A A T AE E E TTNET E 71
E EN e PAE A A AE APA AAN ET AEE ATT 21
O a R N A BEAR E NR DRA AE E AE T 107
DA E D ECE EE E TA E ES E T 85
D ARa OANE E E E E E A EA E EE 7
DE s OE AET TEA AE E E RA IRA A 67
DPacdalusiSotWarE aande onetaeo thoy 2g taae e desetke desise saaa t 70
Dallas Development Systems...............ssesssestscecesssesssesesssees 90
VR RIE aE A hashes E EAE eo san S AE R N T ANT 58
| DE RR TO a oe E R alee lee, EREE S ARA S P F 14,15
Development Association (Lyon Ware)........cccsccsseeeneees 119
Diggles Kitchen Micro Computer Software seses 95
PNG COGN CEA EERE sacaach ad IS EEE 83
Down East CGPI ON So coasetp xcapeasenccdh rasas esd oio ranee 108
DEVO CRN sl lg Ser ctade a ET ea ak aaao a ia 43
RAA C EEE E Ea A TAERE E A EE 13
Bdson EICI TOMOS at. ea aA i eka E anar raisi 118
Electrome Teci Today CANO. mios. kaert iee ieres esene si papae tne 110
Eohemeris EV ee eea peaa EE AER Ee pa ansaa da] 57
OR T AEE E PRE ATENE A SE. ENN EPIA TEA A eee 58,116
BESET Mets ooh N A E S T E 52
MEG CPU EE I EEE E EAE 89
Index to Advertisers
Florida Créations ca A eae ak Eds roop ea enie esga. 108
Fourth: Dimension, The... :..........sc..ccscdeicssoncnssbehtedeMbesseces 119
Fresh: TIACKB o L osicacdsnnsedescci paces A ee ekaa rine 45
IBAR Eit ge. o) r e ae Ae AR EE A EAA aa a RE Eeh, OREA. 118
Froe SoftWare oo 55.05. siccnte neso aa p E aE E r AE e S 117
Pullot Micro Laretei eas eetececsedecasenan Reine ORe a A cits tines 24
Peter Furlong Product ...:.............c.cssscssesooessssndsccccssssgnnesoseoes 4
General Systems Consulting...............ssccccssseseresersesssseesnees 57
Gibbons: MBa aae es wae pe edie nn cath ind bs Eae eaaa i 91
Gladstone PIeCtroniCS. 4... sti Kes ns eckentuccnheoetdossiaetast gous rs iT 60,61
EAE a E EEE EEN: E E EE EE N A 81
Haymarket Software... :....:.ic..sccccccsesesesnstessssstncesenas soos 16, 67
Heath Computer Service ...........:..cccsccscscecsessssenssssesessossesesses 8
PEGG Lidi aeiio Sidse ei enade Arrant ona O Aa 81
ME HORMAN. erle da very v0 paasee Posh EDA r reanna siener 58, 68
A SSAA ih a PED, E EEIE AAE E TE P 111
Hurricane PEIECUPON IGS i Aeee os aoaeeoo aasia AEA erTi 106 .
Independenc® Research ......0......052....ccosescsonssessdesessnssonstosens 104
TPiFPRICY FRESCA PCH i REET O E OTN AE S E ETARE seed 78
E n A E A RE E A AE 84
MMternational Publishing... sagas sa ops sghonssaccanssncedevenesevoanph 69
AA Ataa lo YA RAO ao nE DA EE A BA EAERI EO SE A S 46
IRS SONWANE tn Aa osecas ra ieee Mie rem Ree e 28,63
Jenn Products a detasare dona cone cghatehsRoesaqnashtaeathacuaiel 101
WR SSPE ke EEIE, -E tees can Oa cigs VOAN EEE P EE EA AA 70
KME in Ger art o5incssndoo ic sncdeysensscnscpenvencsdocgnasvossabawncscbons 35
Kayde Electronic Systems ............c.sssseccscessseesneeseessessseeeeones 23
King SONATO icici sos ove epodo ce ere sdgebanncgencunsscutennvabentonss 58
Kopak Creations: Ine. ..,6.0..0.sc..ccccsesssecassncteonosbasecsennsvedeoseces 33
De Be: CF EMEEDIISES -sissit oeo cagncsetnchaadesiukeapeapvant~tevadstengescnan 117
Sp FG BSG HE EAA AA icc E ATEA EE E enti AE E ae
Ba Bias s ca tat soa bs. nose stk iaa aaar apak e paa ees Cover 4
PPO TNs scan ak A EPE EE EAT A TE A T ET. 92
IEC | T I RN EA EN AAI E a A 56
Maples, William...............c.ccdecsssccosesetedentecnsssensesssecsccsnscesanece 70
Melbourne HOSES 58 5G «22. .ccovadedsssdotetoseese-k Eae Ee P 49
Memdary/ Mater SiC oi. A sen bhei saoctnens an eeleren tieer ra iesean e 84
a Gath 25 aes si ak ovens Se sn stdin gnnntdskebdtn pene es lio epe iea dada Vikse Srs S 2
DH ETOT Lae: A aac ahs WEER AS hog sont chan EAE E 83
Micro Computers Pig cs-ss-cecsa ieh rno ee ce siess icas aie EEn 64
Micro Desig COEDS tostaen appensa sn d RN 109
u T a A T och E hie. EE A E ANR l
Micro TOO aeaiee estes Mee YS Sen MF eRe Su I ae a 45
WAU Che ok acdc es than a eh Seen wah aosi aak cans Teao ALIT see aA 71
VEG oo he's cata iis ne hE Reser errero ia en Shuai ip gate tated aeaa 5
Mohr & Associates. heene oaran s a haze todas Agemcen Manse 77
Namal Associates n assess hc cek as scan sacecateinstettecnchelh staat 34, 63
DN Beas eae canada cape cpp cans E AES ETET, 45
bite: Sepak: hie eM 72) See a eee abate Senco ere 90
Nin Trivia Qi isGaen ni ores cases. on lds 0020s oo aes endo ce decasnaeeebccdttees 10
TN Ler Stack PCa RIP kenna a aese riani 101
Omni ht | A RRR eS aea aoia eide eene aae i ES 94
Or bate Softwa te -Erda eeens ki chee sngiecseosnarabeete ye Cover 3
Orions’s Belt, Enterprises 0.......:....0..cscsscescsssssssencecsceneenaoaess 13
Oxfordiin odeta E asia ise eisa EN sa era as rE aat Eae UTSA 99
P A PB Sotware hanen aaen eis e AEE p ASE ATAN 50
Panda Soktare. ea a a aasi E eda ans di R AAR As 105
A gael A ANENE I AE cig oh ETE eee P A E RT Ra 83
PCE SEPTIC o PRIR EE STANO T E AA A ET REASTA 109
Eersonadi SoftWare- scssi knjodadsecthtccntentucerck SEke SI SERR ESASI SAR 24
Photo Lab ara ara E e toore a E eR EREE AAAS 58
Powerplay Systems..............sscscsscssessssssesssacsercesecesssncaennees 93
PO WEF tiónin -can e eea osoh cobs nn asao Sedp sl Esai cuss RTS} 50
Professional ElectröhiCS oasis cli; i. ccingieheacesesachanusensasoescdsnusatooos 54
Research Applications Products ..........ccssscccsesereteereeeeereeeees 57
Robili: Products 255 iate Saeed ieena sonahecctcdi A SENAERA 55, 93
Rom Pac Applications ...s.sessersseseesisiseicessssosousssosaeesseeos Cover 2
Remar ke EEEE RA A T ES E EEL E EATE sy $1
Michael Rossa ic... uct -adessed bd sesteanestheshsstbcandteasvacqnensegeesbnazene 116
Risati- Tt. Software keke. 5 sca ae e eA fon ea Aao maswoneatlcaoncuesteia 47
SOY cates Nase Se oat A AETA EEE OAT KE E E age eee 118
Sánta FE Industries: as sees vac cd on apn dens bo gaterevdesensptortin sree 45
Savage Software ......s0s......necsscteonusneraparoastiogteonsenssgbangbae 45, 116
SErVitrOMOS Aesar seana in re aa veces ha Aea daea AAE Vena 107
SinGla ie, PIA CG cc jsgncesi-caceces io aae apap istako doir As ESA bas ons 75
Sin Wate oy eich cca ci E E E E E EE E E AAS 42
TTN WATE AEA EREET E A E RS N PAE E OE E 33
Small Systems Software ......ssesesessecovesectesoocsssceseeseesososnseosese 93
ETE TRE L: E ANE AE S RISA EA ATT TA ATA 47
Softsyne In. o.......p..sccccccnsscasssonssccsonesebsesboccasseveonaccssuacsnsageoe 18
The Software Farm.. coania stikih ses sakcensdescpa deb EATS 94
Southern Computer Systems i..is.s.sesse eseesisacesecsarssansitnon seg 37
Space Braker i.2.5..50...ccavecscassescocdsiossanvacsocesdannas nes Sonecenseeesg 54
Strategem Cybernetics..............ccsccsssecssessesersesercesentecsesers 113
SyNchronize ...0...5c.ccsseccesesestsesnsecsnvetsssessenssenvenessuonosassasonesaesee 17
SyNCwares cdi isccesscsontinsessnensesuocacasescespetaonavesses) ssn aiaa aigoa EAN 22
Synergistic Desigt..............s.ccccscssrssscesseessccsscseessossonssesssvenss 9
Gig TA. Cpe me Seg dpm ek EUR EN A A A ee, Fe Cae ery ae eee ee 89
Time Data nAaR He See ase oer ISSA 77
Time Works: [nesae clon cecncansdeastesaceetasdtes E aaa debt EASTA 108
Troiano: Softwares urere esee ei a toas kae Na oaeo ii a aa 45
Turner) Eley and Com. :..c..caes....ciisscovasscosvectsrseapsscssonesdaanons 76
Ventamatic Micro-Informatica .............ccccccsssssssseseeeeeneeeeees 84
UPpSyStems P T T E E ATE E, 66
Chris White caine tee TiS ren case eee itera so 35
Woods, -Thomas iza Aiia aa tacts ae 116
ETT TE E E R E E E E SE A NT 78
Wr Ke I AEREE T Seda E E events Seas E E 86
ZL E s S EI E E E E EE T L AE 92
Zebra X-raåy SONWALE si is. 050) ons aden caise arona SEE aae E a7
POOR. dacs RAEN EEE E A DE R AE ARSA E R A 16
Zopf. Pndustries anaes asee Ioe a DAEA SE R aE aAA 50
Lor Khan-Industries oo S Auh oree sea e Ae e leei ese 51
ZASI Programs Ao cs AGN eane AES SATSE NIATE 116
Zi X Panding Lidse aeiae saien opaa eTa R S Siea pee ieat tenia’ 13
WESE EAEEREN EAEE IA E E E E EA E EEE E 67
FOR YOUR
TIMEX/SINCLAIR 1000
x y
Sna
Welcome to the world of Mega Mind.
‘ An intense battle of wit and logic that
challenges the human player to dive deep
"into his powers of concentration.
Compete with the Mega Mind across your
mind's universe to break the secret code.
Five levels of pla
(ALSO COMPATIBLE WITH ZX81)
Written in machine code. 16K. $19.95
FREE POSTER WITH ORDER
To place order send $19.95 in check or money order to:
ORT E
THE CREATIVE FORCE ™
P.O. Box 948, Dept. 5, Waterbury, CT 06720
Phone: 203-753-6308
Send for free catalogue for more exciting software.
ring,
S
THE PROWRITER COMETH.
(And It Cometh On Like Gangbusters./
Evolution.
It's inevitable. An eternal
verity.
Just when you think you've
got it knocked, and you're
resting on your laurels, some-
body comes along and makes
a dinosaur out of you.
Witness what happened to
the Centronics printer when
the Epson MX-80 came along
in 1981.
And now, witness what’s
happening to the MX-80 as
the ProWriter cometh to be
the foremost printer of the
decade.
SPEED
MX-80: 80 cps, for 46 full lines
per minute throughput.
PROWRITER: 120 cps, for
63 full lines per minute
throughput.
GRAPHICS
MX-80: Block graphics standard,
fine for things like bar graphs.
PROWRITER: High-resolu-
tion graphics features, fine
for bar graphs, smooth curves,
thin lines, intricate details, etc.
PRINTING
MX-80: Dot matrix business
quality.
PROWRITER: Dot matrix
correspondence quality, with
incremental printing capability
standard.
FEED
MX-80: Tractor feed standard;
optional friction-feed kit for
about $75 extra.
PROWRITER: Both tractor
and friction feed standard.
INTERFACE
MX-80: Parallel interface
standard; optional serial
interface for about $75 extra.
PROWRITER: Available stan-
dard-either parallel interface
or parallel/serial interface.
oS WARRANTY
MX-80: 90 days, from Epson.
PROWRITER: One full year,
from Leading Edge.
PRICE
Heh, heh.
Marketed Exclusively by Leading
Edge Products, Inc., 225 Turnpike
Street, Canton, Massachusetts
02021. Call: toll-free 1-800-343-6833:
or in Massachusetts call collect
(617) 828-8150. Telex 951-624.
LEADING
EDGE.
For a free poster of “Ace”
(Prowriter's pilot) doing his thing,
please write us.
7 *e *& 8 6 ee